Назад | Перейти на главную страницу

root не может получить доступ к домашней папке пользователя через NFS

У нас есть локальный сервер, который экспортирует NFS общий ресурс, используемый как родительский каталог для домашних папок Linux в сети. Пользователи проходят аутентификацию через LDAP (работает на одном сервере).

Аутентификация работает нормально, и домашние папки на общем ресурсе также хорошо работают для пользователей после того, как они вошли в систему на клиентском компьютере.

Однако есть одна проблема: пользователь root на клиенте не может получить доступ к пользовательским папкам. Это проблема, поскольку даже такие простые вещи, как sudo apt-get выдают ошибки, потому что root не может писать в папку пользователя.

Я подумал, что проблема может быть в том, что права доступа к домашней папке на NFS server - 0700, поэтому доступен только самому пользователю. Поэтому я изменил это разрешение на 0770, а также установил групповое владение папкой пользователя на сервере на 0, то есть root. Я предположил, что это должно сработать, поскольку 0 также является идентификатором корневой группы на клиентских машинах.

К сожалению, это не решило мои проблемы, root по-прежнему не может получить доступ к папке пользователя:

root@Mule:/home/users# ll
total 28
drwxr-xr-x  7 team      team  4096 Aug 20 14:18 ./
drwxr-xr-x  3 root      root  4096 Oct 29 10:43 ../
drwxrwx--- 30 mfb       root  4096 Jan 30 17:49 mfb/
root@Mule:/home/users# 
root@Mule:/home/users# cd mfb
bash: cd: mfb: Permission denied
root@Mule:/home/users# 
root@Mule:/home/users# ll mfb
ls: cannot open directory mfb: Permission denied
root@Mule:/home/users# 
root@Mule:/home/users# whoami
root
root@Mule:/home/users# 
root@Mule:/home/users# mount | grep users
bison:/media/profiles on /home/users type nfs (rw,hard,intr,addr=192.168.0.2)
root@Mule:/home/users# 

У меня здесь нет идей. Любые предложения, как я могу включить root для доступа к домашней папке пользователя на клиенте (mfb в этом примере)?

Из экспорт страница руководства:

Очень часто нежелательно, чтобы пользователь root на клиентской машине также рассматривался как root при доступе к файлам на сервере NFS. С этой целью uid 0 обычно сопоставляется с другим идентификатором: так называемым анонимным или none uid. Этот режим работы (называемый «корневое сжатие») используется по умолчанию, и его можно отключить с помощью no_root_squash.

вам нужно проверить, как экспортируется монтирование NFS. Скорее всего "root_squash" включен.

Из Документов: root_squash - запрещает пользователям root, подключенным удаленно, иметь привилегии root, и назначает им идентификатор пользователя nfsnobody.

Параметр no_root_squash отключает корневое сжатие

Больше информации здесь: http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-nfs-server-config-exports.html

Вам нужно установить no_root_squash на экспорт. В противном случае доступ корневого пользователя сопоставляется анонимному пользователю (обычно никому).