У меня есть сервер fileserver
. На файловом сервере активен экспорт NFS, который называется share
.
У меня есть три пользователя, которым нужен ssh / sftp доступ к share
через удаленный компьютер fileaccess
: user1
,user2
, и user3
.
Как бы мне настроить его так, чтобы, войдя в fileaccess
следующие разрешения будут активны без изменения разрешений для файлов на fileserver
?
user1: read, write, execute
user2: read, (execute?)
user3: read, (execute?)
Я хотел бы user2
и user3
чтобы иметь возможность просматривать папку, но не изменять ее содержимое вообще, а user1
смогут делать с ней все, что захотят.
Я пробовал установить share
на fileaccess
в /mnt/
а затем ссылку на домашний каталог каждого, но я не могу дать user2
и user3
доступ только для чтения без удаления user1
разрешения тоже.
Я закончил тем, что сделал /mnt/read/
и /mnt/write/
и сделал несколько подключений к папкам, которые я хотел под ними, с read
и write
имея соответствующие разрешения.
Я не уверен, насколько он эффективен, но это не очень загруженный ресурс, поэтому я думаю, что он работает достаточно хорошо.
Предполагая, что вы можете chroot пользователей, вы можете монтировать общий ресурс несколько раз, по одному разу для каждого пользователя chroot. Для пользователей с доступом только для чтения смонтируйте общий ресурс с помощью -o ro
. Если невозможно смонтировать один и тот же общий ресурс несколько раз, вы должны иметь возможность использовать привязки, но с оговоркой, обсуждаемой на http://lwn.net/Articles/281157/
вы можете использовать acl? вы можете man setfacl для деталей. это позволяет вам указать, что каждый пользователь или группа может получить доступ к какому каталогу / файлу с каким разрешением.
если этой команды не существует, вы можете установить ее из репозиториев. Если ваша файловая система действительно не старая, следует поддерживать acl. Однако в некоторых случаях вам может потребоваться указать поддержку acl при монтировании.