软件概述
机器 A(NIS 服务器):CentOS 6.2
机器 B :(NFS 服务器) CentoS 6.2
客户端机器: OpenSuse 12.3、CentOS 6.4 和 CentOS 5.6
介绍和设置
机器A是一个 NIS 服务器,它为一组客户端机器提供服务。NIS 映射定义的主目录来自 NFS 服务器(机器B),在登录时会自动挂载。
机器B是使用 NIS 进行身份验证的 NFS 服务器。
当我登录到客户端机器时,我可以读/写我的主目录,其中的所有文件都是
alex users
在许可方面。当我登录 NFS 服务器时也是如此。
但是,当我登录 NIS 服务器时,我的主目录挂载,我可以向其中写入文件,但所有文件都显示为
nobody nobody
获得许可。尽管有这样whoami
的结果alex
测试:在 NIS 服务器上的 /home/alex 目录中创建文件
如果我在登录到 NIS 服务器时在我的主目录中创建一个文件
touch /home/alex/testfile
ls -l testfile # on server
-rw-r--r--. 1 nobody nobody 0 Mar 19 14:21 testfile
但如果我ls -l
在客户端机器上运行,我会得到
ls -l testfile # on client machine
-rw-r--r--. 1 alex users 0 Mar 19 14:21 testfile
很明显,文件是作为正确的用户创建的,并且在 NIS 服务器上尊重权限。除了显示我的文件,因为nobody nobody
一切看起来都很好,但我担心这可能是更严重的事情的症状。
测试:ypcat
命令
登录到 NIS 服务器后,我可以运行
ypcat passwd
并获得输出。
然而ypcat shadow
产量
No such map shadow. Reason: Internal NIS error
但我会认为这是因为我有
MERGE_PASSWD=true
设置在我的/var/yp/Makefile
不需要的密码冗余
作为最后一个奇怪的转折——对于一些用户来说,他们可以使用不再有效的旧密码通过 NIS 登录。我不知道这是怎么发生的,因为 /etc/passwd 和 /etc/shadow 中每个用户只有一个条目?这可能是一个不相关的问题,或者可能提供有用的信息。
我猜你是在客户端机器上安装 nfsv3,在机器 B(nis 服务器)上安装 nfsv4
如果您使用 autofs 挂载主目录,请在机器 B 上添加 -nfsvers=3 选项
古斯塔沃的回答基本上是正确的,但我想我会添加一些细节而不是作为评论
我在任何地方都安装为 nsf4,但由于某种原因,nsf4 无法在 NIS 服务器上运行。
添加
defaultvers=3,nfsvers=3
到 auto.master 中的挂载线,然后是服务,这样我的 auto.master 文件看起来像这样随后是 autofs 重启
把事情搞定并运行。
一个随机问题 - 我已经物理登录到我们数据中心的机器但没有注销,因此
/home
即使重新启动后管理员用户目录也无法重新安装,这引起了一些混乱。