Пользователь iMac не может получить доступ к домашним каталогам, смонтированным через NFS, с помощью sudo

Пользователь iMac не может получить доступ к домашним каталогам, смонтированным через NFS, с помощью sudo

Я только что переустановил свой iMac в домашней сети и смонтировал домашние каталоги пользователей через общий ресурс NFS (размещенный на сервере Ubuntu).

Проблема в том, что когда я использую sudo, мне отказывают в доступе к моему домашнему каталогу.

Мой UID — 501, и мне разрешено использовать sudo, поскольку я являюсь членом группы администраторов (GID 80).

На сервере Ubuntu я настроил свой домашний каталог следующим образом:

Ubuntu# ls -ln | grep bryan
drwxrwx--- 35 501 80 4096 2012-01-27 14:09 bryan

Что правильно переводится на Mac:

iMac$ ls -l | grep bryan
drwxrwx---  35 bryan    admin   4.0K 27 Jan 14:09 bryan/

Поскольку root также является членом группы admin (GID 80), я ожидал, что sudo разрешит доступ к моему домашнему каталогу, но, как вы можете видеть ниже, это не так.

iMac$ whoami
bryan
iMac$ sudo bash
bash: /Volumes/home/bryan/.bashrc: Permission denied
iMac# whoami
root
iMac# cd /Volumes/home/bryan/
bash: cd: /Volumes/home/bryan/: Permission denied

Для подтверждения приведу соответствующую часть вывода на dscacheutil -q groupмоем iMac:

name: admin
password: *
gid: 80
users: root bryan 

Что можно сделать, чтобы разрешить доступ к моему домашнему каталогу на iMac при использовании sudo?

решение1

При использовании sudoвы переключаетесь на rootпользователя (uid 0) – вытерятьВаш brianUID и adminгруппа. ( sudo idпокажет вам точные значения.)

Поскольку предыдущие версии NFS (v3 и более ранние) выполняли все проверки безопасности только на стороне клиента, существует встроенная защита от недобросовестных клиентов — когда клиент говорит, что ваш UID равен 0, вы этого не делаете.нетполучить права root –Вместо этого сервер NFS видит вас как пользователя nobody.

Чтобы отключить эту защиту, отредактируйте сервер, /etc/exportsчтобы включить эту no_root_squashопцию, затем перезапустите exportfs -raи перемонтируйте общий ресурс на всех клиентах.


При тестировании разрешений NFS полезно иметь каталог, доступный для записи всем пользователям, на вашем ресурсе. Например, в Ubuntu, sudo mkdir /home/temp; sudo chmod a+rwx /home/temp. Затем в OS X вы можете запустить sudo touch /Volumes/home/temp/testfileи мгновенно увидеть владельца нового созданного файла.

Связанный контент