chown на смонтированном разделе NFS дает «Операция не разрешена»

31

У меня есть удаленный раздел, который я смонтировал локально, используя NFS.

«гора» дает

192.168.3.1:/mnt/storage-pools/ on /pools type nfs (rw,addr=192.168.3.1)

На сервере у меня в экспорте:

/mnt/storage-pools   *(rw,insecure,sync,no_subtree_check)

Тогда я пытаюсь

 touch /pools/test1
 ls -lah
 -rw-r--r--  1 65534 65534    0 Dec 13 20:56 test1
 chown root.root test1
 chown: changing ownership of `test1': Operation not permitted

Что мне не хватает? Выдернуть мои волосы.

Дискотека
источник
каждый раз, когда у меня возникала эта проблема, в файле экспорта между сервером монтировалось и (rw, ...
egorgry,

Ответы:

26

По умолчанию root_squashопция экспорта включена, поэтому NFS не позволяет пользователю root от клиента выполнять операции от имени пользователя root на сервере, вместо этого сопоставляя его с идентификатором пользователя / группы, заданным параметром anonuidи anongidпараметрами (по умолчанию = 65534). Это настраивается /etc/exportsвместе с другими параметрами экспорта.

Сергей Власов
источник
21

Прочитайте раздел exports(5)о «корнеобразовании»:

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

Итак, вы хотите:

/mnt/storage-pools   *(rw,insecure,sync,no_subtree_check,no_root_squash)

(отредактированная опечатка)

larsks
источник