Как получить разрешения пользователя для общего ресурса NFS?
Ситуация: я просто хочу получить доступ к Synology NAS с сервера Ubuntu с пользователем без полномочий root.
На NAS у меня есть это в файле экспорта:
/Directory <client-ip>/255.255.255.0(rw,async,no_wdelay,no_root_squash,insecure_locks,sec=sys,anonuid=1003,anongid=1004)
На Ubuntu-сервере в fstab я получил это:
<server-ip>:/Directory /Mountpoint nfs noauto,user,rw 0 0
Теперь я хочу разрешить UserA, который используется для некоторых автоматических процессов, монтировать общий ресурс и записывать в него.
mount /Mountpoint
Монтирование как UserA работает нормально, но у меня нет разрешения даже читать то, что находится в каталоге. Как пользователь root я делаю. Перечисление папки точки монтирования показывает эти разрешения:
drwxrwx--- 4 UserA root 4096 Sep 17 13:58 Mountpoint
Я пытался установить anon-идентификаторы при экспорте в идентификаторы UserA, но это не помогло. Создание UserA владельцем папки тоже не помогло. Есть ли простая вещь, которую мне не хватает?
Кроме того: Это должен быть общий ресурс NFS, поскольку он будет передавать большие объемы данных.
Изменить: я бы предпочел не давать разрешения на чтение и запись "другим" по соображениям безопасности.
1 ответ
Позволять usera
быть основной группой UserA (groups usera
). Вы можете узнать GID, используя: id -g usera
в клиентской системе, скажем, это 1256
, Теперь добавьте своего пользователя в usera
группа:
sudo adduser ayven usera
Теперь на сервере выполните:
chown :1256 /Directory # Replace 1256 with the correct GID
chmod g+rwxs /Directory
Переустановите его на клиенте:
sudo umount /Directory
sudo mount /Directory
(Возможно, вам придется заново зарегистрироваться, чтобы новые группы вступили в силу.)
Теперь и вы, и usera
иметь полный доступ к общему ресурсу NFS. Я использовал setgid
немного, так что, возможно, вам придется включить его, я не помню этого. Добавьте всех пользователей, которым вы хотите иметь доступ к этому каталогу, в usera
группа.