我有一个远程分区,我使用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
我错过了什么? 把我的头发拉出来。
默认情况下, root_squash
导出选项处于打开状态,因此NFS不允许来自客户端的root用户在服务器上以root身份执行操作,而是将其映射到由anonuid
和anongid
选项指定的用户/组ID(默认值= 65534) 。 这可以在/etc/exports
与其他导出选项一起configuration。
阅读有关“压根”的exports(5)
部分exports(5)
:
通常情况下,在访问NFS服务器上的文件时,客户机上的root用户也被视为root用户。 为此,uid 0通常被映射到一个不同的id:所谓的anonymous或没有人uid。 这种操作模式(称为“root squashing”)是默认的,可以用no_root_squashclosures。
所以你要:
/mnt/storage-pools *(rw,insecure,sync,no_subtree_check,no_root_squash)
(编辑错字)