Ситуация: я просто хочу иметь возможность доступа к 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-Server в fstab я получил следующее:
<server-ip>:/Directory /Mountpoint nfs noauto,user,rw 0 0
Теперь я хочу разрешить пользователю UserA, который используется для некоторых автоматических процессов, монтировать общий ресурс и записывать в него данные.
mount /Mountpoint
Монтирование как UserA работает нормально, но у меня нет разрешения даже на чтение того, что находится в каталоге. Как пользователь root я могу это сделать. Список папки mountpoint показывает следующие разрешения:
drwxrwx--- 4 UserA root 4096 Sep 17 13:58 Mountpoint
Я пробовал устанавливать anon-ids в экспортах на ids 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
.