我有几台装有 debian lenny 的计算机。其中之一有一个 nis 服务器:193.167.1.75
我可以在登录时自动挂载我的主目录:
>ssh 193.167.1.80 -l myuser
>pwd
/home/nis/myuser
现在,我刚刚在其中一个上安装了 debian wheezy,我无法再自动挂载主目录(但我仍然可以使用 myuser 登录)
>ssh 193.167.1.80 -l myuser
Could not chdir to home directory /home/nis/myuser: No such file or directory
>pwd
/
到目前为止我所做的:
apt-get install nis nfs-common portmap autofs
echo "+::::::" >>/etc/passwd
echo "+::::::::" >>/etc/shadow
echo "+:::" >>/etc/group
echo "mynisserver" > /etc/defaultdomain
echo "ypserver ##.##.##.75" > /etc/yp.conf
nisdomainname mynisserver
/etc/init.d/nis restart
echo "+auto.master" > /etc/auto.master
rm /etc/auto.home
/etc/init.d/autofs restart
知道为什么主目录仍未安装吗?
编辑1:
客户端(193.167.1.80)
grep -i automount /var/log/messages
grep -i automount /var/log/syslog
不返回任何内容(登录时也不会换行)
/etc/init.d/autofs status
[ ok ] automount is running.
ns开关:
cat /etc/nsswitch.conf
passwd: compat nis
group: compat nis
shadow: compat nis
hosts: files dns nis
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
不确定这与它有什么关系,但以防万一:
showmount -a
clnt_create: RPC: Port mapper failure - Unable to receive: errno 111 (Connection refused)
服务器端(193.167.1.75):
cat /etc/exports
/home/nis 193.167.1.0/24(sync,rw,no_root_squash,no_subtree_check)
编辑2:
我尝试使用 root 手动在 193.167.1.80 上挂载 nfs。有效。现在我需要弄清楚为什么 autofs 不自动执行此操作:
mount -t nfs -o rw 193.167.1.75:/home/nis /home/nis
答案1
我怀疑您没有 NFS 导出任何文件系统。仅将项目放入自动地图中不会自动导出任何内容。检查/etc/exports
源服务器上的文件。
此外,您还需要指示两个自动挂载映射的上下文是什么。
另外,您应该指出 的内容/etc/nsswitch
。如果您将此文件设置错误,则永远不会查阅您的 NIS。
答案2
我也在我的系统上看到了这一点。在我的情况下,当我登录时,我看到 NIS 已启动(ypwhich 返回服务器的名称),但自动安装程序未读取任何映射。重新启动 autofs(/etc/init.d/autofs restart)可以解决该问题,直到我下次重新启动。
我还没弄清楚为什么我的电脑上会出现这种情况。
我在一些运行在无法对 NIS 服务器进行广播访问的子网上的 RedHat 系统上看到过这种情况。它们配置了一个看起来像“域 MYDOMAIN 服务器 MYNISSERVER”的 yp.conf。我发现在启动 ypbind 的启动序列中,MYNISSERVER 的 DNS 解析失败并且 YP 未绑定。将 MYNISSERVER 从 DNS 名称更改为数字 IP 地址或在 /etc/hosts 中添加 MYNISSERVER 行即可。
然而,在我的 Debian 机器上,这不是问题。 Ypbind 确实启动成功。根据启动时消息,它失败了,但在后台继续运行。我怀疑它在 autofs 启动一段时间后成功,因此出现了问题。
当我编辑 /etc/init.d/nis 使重试之间的延迟为 5 秒时,问题并没有改变,所以这不仅仅是等待时间不够长的问题。
我认为,查看日志文件,启动代码正在尝试在 NetworkManager/DHCP 完成尝试启动接口之前启动 NIS,这意味着没有接口可供它尝试连接。
我可以通过将以下两行添加到我的 /etc/rc.local 来解决该问题:
/etc/init.d/nis start
/etc/init.d/autofs restart
很明显,在最初尝试启动 NIS 和启动序列结束(在 rc.local 处)之间加载的某些内容应该更早运行。根据/etc/rc5.d的内容,这只能是nfs-kernel-server(我没有使用)、cron和minissdpd,但它们对我来说都没有意义。
所以...我不知道到底是什么导致了您的问题,但我也许可以向您提供解决方法。希望比我更有经验的人可以补充这一点,并找出我(可能还有你)正在观察的问题的真正原因。