У нас есть локальный сервер, который экспортирует 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
на экспорт. В противном случае доступ корневого пользователя сопоставляется анонимному пользователю (обычно никому).