1

Отредактировано, так как ситуация немного изменилась.

Я пытаюсь поделиться каталогом на моем устройстве NAS (WD Mybook WE) с NFS на другом компьютере в моей локальной сети. Каталог на устройстве NAS выглядит следующим образом:

drwxr-x---   15 git      git          4096 Nov 17 01:05 git/

И идентификаторы пользователя git на устройстве NAS выглядят так:

[root@myhost DataVolume]# id git
uid=505(git) gid=505(git)

Я играл со многими различными параметрами в /etc/exports и вот что я получил в настоящее время:

/DataVolume/git 192.168.0.20(async,rw,no_root_squash)

На стороне клиента у меня есть пользовательский git и групповой git с одинаковыми идентификаторами, совпадающими с идентификаторами на сервере.

user@myclient:~$ id git
uid=505(git) gid=505(git) groups=505(git)

Я подключаю каталог с помощью:

sudo mount myhost:/DataVolume/git -t nfs git/

и смонтированный каталог выглядит так:

drwxr-x--- 15 git    git       4096 Nov 17 01:05 git

После этих шагов я могу получить доступ к этому каталогу от клиента с привилегированным пользователем с правами root. Но пользовательский git на клиенте все еще не может даже cd в этот каталог. Пользователь git имеет одинаковые uid и gid на обоих устройствах, и, как вы можете видеть, каталог принадлежит этому пользователю.

Заранее благодарю за любую помощь.

3 ответа3

2

Убедитесь, что каталог на самом деле экспортируется с помощью no_root_squash:

grep git /proc/fs/nfs/exports

У вас включен SELinux на клиенте или сервере? Если это так, попробуйте отключить его (или установите политику как permissive), затем перезапустите nfsd и перемонтируйте общий ресурс.

Что ваши журналы (клиент и сервер) говорят об этом?

Редактировать:

Видите ли вы монтирование / экспорт при запуске showmount -a server и showmount -e server на клиенте?

Готовы ли вы ready and waiting ответов при выполнении следующих трех команд на клиенте?

  • rpcinfo -T udp server nfs
  • rpcinfo -T udp server mountd
  • rpcinfo -T udp server nlockmgr
1

Использование fsid = 0 в параметрах экспорта может помочь для доступа к файлам и каталогам без разрешения на чтение для других. Смотрите - http://softpanorama.net/Net/Linux_networking/Suse_networking/suse_nfs.shtml

0

Вы должны проверить системный журнал для получения дополнительной информации о том, почему вы получаете ошибку «Отказано в доступе». Выполните следующую команду, чтобы проверить, какие файлы журнала были недавно отредактированы, а затем проверьте последние строки этих файлов.

ls -latr /var /log /

Когда-то у меня была та же проблема с NFS, казалось, что все настроено правильно, но что бы я ни делал, я всегда получал ошибку "доступ запрещен сервером при монтировании xxx". Журналы показали ошибку "Неверный порт", и я решил ее, добавив опцию "небезопасный" в файл экспорта, то есть:

/DataVolume/git 192.168.0.20(async, rw, no_root_squash, no_subtree_check, небезопасный)

Попробуйте и посмотрите, не приблизит ли это вас.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .