chown:改变“。”的所有权:无效参数

chown:改变“。”的所有权:无效参数

当我们的系统管理员休假时,我试图在新服务器上安装一些新文件:

这是我的df

#  df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sdb3             273G   11G  248G   5% /
tmpfs                  48G  260K   48G   1% /dev/shm
/dev/sdb1             485M  187M  273M  41% /boot
xxx.xx.xxx.xxx:/commun
                       63T  2.2T   61T   4% /commun

作为,我可以创建一个新目录并chown在 /home/lindenb 下运行

# cd /home/lindenb/
# mkdir X
# chown lindenb X

但我无法在 /commun 下运行相同的命令

# cd /commun/data/users/lindenb/
# mkdir X
# chown lindenb X
chown: changing ownership of `X': Invalid argument

为什么?我该如何修复?

更新

山:

/dev/sdb3 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sdb1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
xxx.xx.xxx.xxx:/commun on /commun type nfs (rw,noatime,noac,hard,intr,vers=4,addr=xxx.xx.xxx.xxx,clientaddr=xxx.xx.xxx.xxx)

版本:

$ cat /etc/redhat-release 
CentOS release 6.3 (Final)

答案1

文件系统/commun是从远程服务器挂载的,错误消息表明这可能是 nfsv4 挂载(早期 nfs 版本的情况也是“权限被拒绝”)。默认情况下,远程文件服务器会将远程root用户映射到一个nobody帐户,因此它无法更改文件所有权。

最简单的解决方案可能是使用本地lindenb帐户在目录下创建目录/commun。因此以 root 身份

sudo -u linedb mkdir -p /commun/data/users/lindenb

如果这不起作用,那么可能存在一些 ID 映射,因此您可能必须在服务器上创建目录xxx.xx.xxx.xxx并在那里更改所有权/权限。

答案2

mount -t nfs -o vers=3 SERVER:PATH MOUNT_PATH

这对我有用。

答案3

这确实是 NFS4 问题。您可能必须考虑使用 rpc.idmapd NFS4 映射守护程序来解决此类问题,尤其是当大量用户需要客户端和 NFS 服务器之间的正确映射时。请注意,NFS3(例如在 CentOS < 6 中)不使用映射守护程序。

相关内容