NFS монтирует папки, но не файлы

NFS монтирует папки, но не файлы

У меня возникла проблема с отображением файлов при использовании монтирования NFSv4 между

Server: Ubuntu 20.04, 192.168.1.1
Client: Ubuntu 18.04, 192.168.1.2

На сервере у меня есть папка и файл

/home/server/files/myfile.pdf

(обратите внимание, что «server» используется как имя учетной записи пользователя). Вот полная цепочка владельцев и разрешений исходного файла:

drwxr-xr-x  root:root        /
drwxr-xr-x  root:root        /home/
drwxr-xr-x  server:server    /home/server/
drwxrwxr-x  server:nfsgroup  /home/server/files/
-rwxrwxrwx  server:nfsgroup  /home/server/files/myfile.pdf

Здесь вы можете увидеть пример утилиты 'user':'group', которую я создал:

nfsuser  uid=127
nfsgroup gid=134

Оба пользователя «nfsuser» и «server» входят в группу «nfsgroup».

На сервере у меня есть /files/каталог, привязанный к /srv/nfs4/files/, /etc/fstabс записью

/home/server/files    /srv/nfs4/files    none    bind    0    0

Это успешно, и я ясно вижу файл /srv/nfs4/files/myfile.pdfкак

-rwxrwxrwx  server:nfsgroup  /srv/nfs4/files/myfile.pdf

Вот полная цепочка прав собственности и разрешений для смонтированного и обслуживаемого файла:

drwxr-xr-x  root:root        /
drwxr-xr-x  root:root        /srv/
drwxrwxr-x  server:nfsgroup  /srv/nfs4/
drwxrwxr-x  server:nfsgroup  /srv/nfs4/files/
-rwxrwxrwx  server:nfsgroup  /srv/nfs4/files/myfile.pdf

Теперь я хочу экспортировать весь /srv/nfs4/каталог, содержащий bind-mounted files/, на клиент. У меня есть эта запись в сервере /etc/exports:

/srv/nfs4    192.168.1.2(rw,sync,fsid=0,root_squash,all_squash,anonuid=127,anongid=134,no_subtree_check)

Обратите внимание, что all_squash,anonuid=127,anongid=134группа настроек приводит к тому, что клиентский пользователь «client» распознается как «nfsuser» в «nfsgroup» с точки зрения разрешений.

После экспорта с помощью $ sudo exportfs -raя монтирую его в корневой каталог /nsffiles/на клиенте с помощью команды $ sudo mount -t nfs 192.168.1.1:/srv/nfs4 /nsffiles.

Результатом является то, что яможно увидетьэкспортированный files/каталог внутри /nsffiles/на клиенте. Однако я не могу увидеть его содержимое:

$ ls -Alhd /nsffiles/
drwxrwxr-x 8 client 134 4.0K Nov 14 20:37 /nsffiles/

$ ls -Alhd /nsffiles/files/
drwxr-xr-x 2 root root 4.0K Nov 14 20:36 /nsffiles/files/

$ ls -Alh /nsffiles/files/
total 0

files/Тот факт, что клиент NFS вообще видит этот каталог, говорит о том, что в моих службах NFS или локальной сети нет никаких фундаментальных проблем. Нет никаких проблем с брандмауэром, и мне не нужно устанавливать никаких дополнительных пакетов. Кроме того, ранее у меня было монтирование NFS, которое прекрасно работало в немного другой структуре папок ( files/например, в каталоге за пределами домашнего), поэтому я знаю, что в этом отношении основы в порядке.

Я предполагаю, что наиболее вероятной причиной того, что это не будет работать сейчас, является тонкое изменение владельца/разрешений между предыдущей настройкой и текущей. В частности, смонтированный каталог

server side:    `/srv/nfs4/`    drwxrwxr-x  server:nfsgroup
client side:    `/nsffiles/`    drwxrwxr-x  client:134

Содержащийся каталог - это

server side:    `/srv/nfs4/files/`    drwxrwxr-x  server:nfsgroup
client side:    `/nsffiles/files/`    drwxr-xr-x  root:root

То есть, для смонтированного каталога разрешения преобразуются как server:nfsgroup -> client:134, что и ожидалось. Однако разрешения для содержащегося каталога преобразуются как server:nfsgroup -> root:root. Почему, root:rootа не client:134?

Этот ServerFaultвопросзвучит похоже, но это касается Windows, и я не могу сказать, что применим единственный ответ.

Этот Unix.SEвопроскасается прав доступа к файлам NFS для установки Windows/Linux; вся информация, которую я могу из нее почерпнуть, — это то, что я уже знаю и о чем, как мне кажется, позаботился.

Пожалуйста, отвечайте только если вы знаете, о чем говорите. Если вы не можете удержаться от публикации дикой догадки, пожалуйста, обозначьте ее как дикую догадку. Или, знаете ли, предоставьте достаточно информации, чтобы ваш читатель мог заметить разницу.

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