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

Общий ресурс монтирования NFS из аутентификации Linux AD в Linux с аутентификацией NIS

У меня две машины:

  1. Linux с аутентификацией AD и запущенным сервером NFS
  2. Linux с аутентификацией NIS

Проблема:

Когда я пытаюсь смонтировать любой общий ресурс с первой машины (аутентификация AD) на вторую (аутентификация NIS), я всегда получаю что-то вроде этого drwxrws --- + 13 16777260 16777222 4096 21 сентября 09:42 программное обеспечение

На самом деле я не могу получить доступ к этой папке, потому что на машине NIS у меня нет пользователя с таким UID / GID

Вопрос:

Может кто знает как решить эту проблему?

В nfsd страница руководства гласит:

Управление доступом к файлам на сервере nfsd основывается на идентификаторах uid и gid, указанных в каждом запросе NFS RPC. Обычное поведение пользователя - это то, что он может получить доступ к своим файлам на сервере так же, как и в обычной файловой системе. Для этого необходимо, чтобы на клиенте и сервере использовались одни и те же идентификаторы uid и gid.

К сожалению, NFS не может отображать пользователей (кроме анонимных / никому с параметрами root_squash/all_squash, то есть).

Я вижу два возможных способа обойти эту проблему:

1) Создайте группу NIS с GID 16777222 и добавьте пользователей NIS, которым требуется доступ к файловой системе NFS, в эту группу NIS.

2) Или, если GID группы NIS не используется на сервере NFS, а NFS поддерживает ACL, вы можете использовать ACL для предоставления запрошенного доступа к группе NIS (я предполагаю, что доступ для чтения и записи, для удаления доступа только для чтения победа setfacl ниже). Предполагая, что каталог называется "software", сделайте это на сервере NFS:

# Back up current ACLs to /tmp/acls
getfacl -R -p --access /full/path/to/software > /tmp/acls
# Set default ACL rwx for new created directories
find /full/path/to/software -type d -exec setfacl -m d:g:<gid nis group>:rwx {} \;
# Set ACL rwx recursively in existing directories
find /full/path/to/software -type d -exec setfacl -m g:<gid nis group>:rwx {} \;
# Set ACL rwx recursively in existing files
find /full/path/to/software ! -type d -exec setfacl -m g:<gid nis group>:rw {} \;

[Я рекомендую вам тест сначала описанная выше процедура. Создайте каталог, установите ACL, экспортируйте его и протестируйте.]

<gid nis group> - GID группы NIS. Вам не нужно добавлять NIS GID в /etc/groups на сервере NFS. Очевидно, что если он не добавлен, вы должны указать GID в виде числового значения.

Заметь setfacl также может рекурсивно применять ACL с параметром -R. Я предпочитаю использовать find и специально установите rwx для каталогов и rw для файлов.

Если что-то пойдет не так:

# Flush ACLs
setfacl -R -b /full/path/to/software
# Restore ACLs
setfacl --restore=/tmp/acls

Сервер NFS на компьютере с Windows переводит пользователей AD в идентификаторы пользователей * nix. Вам нужно будет перенастроить NFS-сервер в Windows для правильного перевода пользователей * nix.

Этот документ должен стать вашей отправной точкой для настройки сервера NFS. http://technet.microsoft.com/en-us/library/cc782783%28v=ws.10%29.aspx