CentOS 5.4 NFS v4客户端文件权限不同于原始文件和NFS共享文件内容

在2个NFS客户端中有1个出现NFS共享和文件权限的奇怪问题,web1有文件权限问题,但是web2没问题。 web1和web2是负载平衡的Web服务器。

所以问题是:

  1. 如何确保NFS共享文件内容与web1服务器上的原始文件(如他们在web2服务器上所做的)保持相同的用户/组权限?
  2. 我如何反转我在web1上做了什么,我试过unmount命令,并说找不到命令?

信息:
我正在使用3个专用的服务器设置。 所有3台服务器CentOS 5.4 64bit为基础。

服务器如下:

  • web1 – NFS文件权限问题的客户端
  • web2 – nfs客户端文件的权限是OKAY
  • db1 -nfs在/ nfsroot共享

web2的nfs客户端是由我的虚拟主机安装的,而web1是由我设置的。

我在web1上执行了以下命令,它使用web1上的最新文件更新/ nfsroot / site_css中的db1 nfsroot共享,但即使使用tar命令来保持文件权限,文件权限也不会保留。

cd /home/username/public_html/forums/script/ tar -zcp site_css/ > site_css.tar.gz mount -t nfs4 nfsshareipaddress:/site_css /home/username/public_html/forums/scripts/site_css/ -o rw,soft cd /home/username/public_html/forums/script/ tar -zxf site_css.tar.gz 

但检查web1文件的权限不再是用户名用户/组,但拥有没有人 ? 但web2文件权限正确? 这只是web1的问题,而web2是正确的? 看起来像数字ID不一样? 不知道如何纠正这个?

web1与不正确的用户/无人组

 ls -alh /home/username/public_html/forums/scripts/site_css total 48K drwxrwxrwx 2 nobody nobody 4.0K Feb 22 02:37 ./ drwxr-xr-x 3 username username 4.0K Feb 22 02:43 ../ -rw-r--r-- 1 nobody nobody 1 Nov 30 2006 index.html -rw-r--r-- 1 nobody nobody 5.8K Feb 22 02:37 style-057c3df0-00011.css -rw-r--r-- 1 nobody nobody 5.8K Feb 22 02:37 style-95001864-00002.css -rw-r--r-- 1 nobody nobody 5.8K Feb 18 05:37 style-b1879ba7-00002.css -rw-r--r-- 1 nobody nobody 5.8K Feb 18 05:37 style-cc2f96c9-00011.css 

web1数字ID

 ls -n /home/username/public_html/forums/scripts/site_css total 48 drwxrwxrwx 2 99 99 4096 Feb 22 02:37 ./ drwxr-xr-x 3 503 500 4096 Feb 22 02:43 ../ -rw-r--r-- 1 99 99 1 Nov 30 2006 index.html -rw-r--r-- 1 99 99 5876 Feb 22 02:37 style-057c3df0-00011.css -rw-r--r-- 1 99 99 5877 Feb 22 02:37 style-95001864-00002.css -rw-r--r-- 1 99 99 5877 Feb 18 05:37 style-b1879ba7-00002.css -rw-r--r-- 1 99 99 5876 Feb 18 05:37 style-cc2f96c9-00011.css 

web2正确的用户名/用户组权限

 ls -alh /home/username/public_html/forums/scripts/site_css total 48K drwxrwxrwx 2 root root 4.0K Feb 22 02:37 ./ drwxr-xr-x 3 username username 4.0K Dec 2 14:51 ../ -rw-r--r-- 1 username username 1 Nov 30 2006 index.html -rw-r--r-- 1 username username 5.8K Feb 22 02:37 style-057c3df0-00011.css -rw-r--r-- 1 username username 5.8K Feb 22 02:37 style-95001864-00002.css -rw-r--r-- 1 username username 5.8K Feb 18 05:37 style-b1879ba7-00002.css -rw-r--r-- 1 username username 5.8K Feb 18 05:37 style-cc2f96c9-00011.css 

web2数字ID

 ls -n /home/username/public_html/forums/scripts/site_css total 48 drwxrwxrwx 2 503 500 4096 Feb 22 02:37 ./ drwxr-xr-x 3 503 500 4096 Dec 2 14:51 ../ -rw-r--r-- 1 503 500 1 Nov 30 2006 index.html -rw-r--r-- 1 503 500 5876 Feb 22 02:37 style-057c3df0-00011.css -rw-r--r-- 1 503 500 5877 Feb 22 02:37 style-95001864-00002.css -rw-r--r-- 1 503 500 5877 Feb 18 05:37 style-b1879ba7-00002.css -rw-r--r-- 1 503 500 5876 Feb 18 05:37 style-cc2f96c9-00011.css 

我检查了db1 / nfsroot / site_css和用户/组所有权是不正确的datefeb22所拥有的新的文件,而不是用户名?

db1本来是不正确的根分配用户/组新的feb22date文件

 ls -alh /nfsroot/site_css total 44K drwxrwxrwx 2 root root 4.0K Feb 22 02:37 . drwxr-xr-x 17 root root 4.0K Feb 17 12:06 .. -rw-r--r-- 1 root root 1 Nov 30 2006 index.html -rw-r--r-- 1 root root 5.8K Feb 22 02:37 style-057c3df0-00011.css -rw-r--r-- 1 root root 5.8K Feb 22 02:37 style-95001864-00002.css -rw------- 1 username nfs 5.8K Feb 18 05:37 style-b1879ba7-00002.css -rw------- 1 username nfs 5.8K Feb 18 05:37 style-cc2f96c9-00011.css 

然后我chmod他们所有的db1和chown设置正确的所有权在db1,所以它看起来像下面

db1一旦纠正了较新的feb22date文件

 ls -alh /nfsroot/site_css total 44K drwxrwxrwx 2 root root 4.0K Feb 22 02:37 . drwxr-xr-x 17 root root 4.0K Feb 17 12:06 .. -rw-r--r-- 1 username username 1 Nov 30 2006 index.html -rw-r--r-- 1 username username 5.8K Feb 22 02:37 style-057c3df0-00011.css -rw-r--r-- 1 username username 5.8K Feb 22 02:37 style-95001864-00002.css -rw-r--r-- 1 username username 5.8K Feb 18 05:37 style-b1879ba7-00002.css -rw-r--r-- 1 username username 5.8K Feb 18 05:37 style-cc2f96c9-00011.css 

但仍然web1显示拥有没有人? 而web2显示正确的权限?

web1仍然与不正确的用户/组没有不匹配什么web2和db1设置?

 ls -alh /home/username/public_html/forums/scripts/site_css total 48K drwxrwxrwx 2 nobody nobody 4.0K Feb 22 02:37 ./ drwxr-xr-x 3 username username 4.0K Feb 22 02:43 ../ -rw-r--r-- 1 nobody nobody 1 Nov 30 2006 index.html -rw-r--r-- 1 nobody nobody 5.8K Feb 22 02:37 style-057c3df0-00011.css -rw-r--r-- 1 nobody nobody 5.8K Feb 22 02:37 style-95001864-00002.css -rw-r--r-- 1 nobody nobody 5.8K Feb 18 05:37 style-b1879ba7-00002.css -rw-r--r-- 1 nobody nobody 5.8K Feb 18 05:37 style-cc2f96c9-00011.css 

只是如此混乱,所以任何帮助是非常非常感激!

谢谢

试图理解你的问题是困惑的,如果你正在检查web1上的web1上的文件,或者web1上的db1上的文件,或者别的什么,你都不会说清楚。 请详细描述您实际看到的内容,而不会将问题与复制和chmoding混淆。 一些简单的,像我在db1上创build一个文件,权限为x:y,在web1上我看到权限a:b和web2上的权限c:d。

首先,使用NFS,任何由root拥有的文件通常都是共享的,这样它就被nobody所拥有。 这意味着如果你在客户端机器上有root,那么你在服务器上实际上没有root权限。 我认为这解释了一些你所看到的。

其次,如果您正在运行NFS,则所有服务器上的userid-> username映射都是相同的。 Unix文件系统只存储用于userid&groupid的数字ID,然后通过像ls这样的程序映射到用户名。 你确定他们都是同步的吗? 这可能是你有一个不匹配的。

最后,tar p是提取的一个选项,而不是创build焦油。 创build焦点时忽略它,甚至在使用它时,也不会将所有权设置为原来的状态。 -p基本上是指忽略umask。 Tar只会创build您所拥有的文件,除非您是root用户。