Использование ACL через файловую систему только для чтения / удаленную

9

Я хотел бы определить локальные ACL для использования в удаленно смонтированной файловой системе. Файловая система монтируется через autofs и sshfs FUSE.

Идея заключается в том, что мы могли бы установить заключенного в тюрьму пользователя на сервере прыжка с доступом для чтения файлов на других серверах в среде и использовать стандартные команды без особого внимания и, конечно, без предоставления доступа по ssh.
Проблема в том, что sshfs всегда будет работать как один и тот же пользователь, поэтому файлы в пути в удаленной системе будут доступны независимо от пользователя, для которого они были показаны.

Я исследовал кодирование проверки безопасности прямо в sshfs, но прежде чем идти по этому пути, я хотел бы посмотреть, может ли какой-либо другой пакет добавить поддержку ACL в файловую систему, доступную только для чтения.

Edit: @peterph Как бы вы установили свои ACL для общего ресурса NFS, когда удаленная файловая система доступна только для чтения?

Разобрать sshfs было действительно легко, поэтому я добавил проверку ACL прямо в сам sshfs через несколько дней после написания этого. Пользователи попадают в тюрьму при входе через OpenSSH и jailkit и получают доступ к автоматическому монтированию sshfs только для чтения оттуда как непривилегированный пользователь. Каждый параметр / чтение статистики или файла генерирует событие системного журнала. Это работает как чудо, и у пользователей нет прав на одну из заключенных в тюрьму коробок.

Дарен Швенке
источник
4
bindfs не поддерживает ACL. rofs не поддерживается, и я не думаю, что он поддерживает то, что вы хотите в любом случае. Я бы пошел по более простому подходу: пусть каждый пользователь монтирует файловую систему sshfs для себя, и дает каждому пользователю отдельную учетную запись только для SFTP на сервере. Простые настройки проще поддерживать, чем хитрости Rube Goldberg.
Жиль "ТАК - перестань быть злым"

Ответы:

1

Есть ли причина не использовать NFS с поддержкой ACL? Вы можете либо туннелировать его через SSH / VPN, либо использовать NFSv4, который поддерживает шифрование самостоятельно.

peterph
источник