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

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

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

'mount' дает

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

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

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

Прочтите раздел exports(5) по поводу "раздавливания корней":

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

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

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

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