喘息:nis/autofs 不起作用

喘息:nis/autofs 不起作用

我有几台装有 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,但它们对我来说都没有意义。

所以...我不知道到底是什么导致了您的问题,但我也许可以向您提供解决方法。希望比我更有经验的人可以补充这一点,并找出我(可能还有你)正在观察的问题的真正原因。

相关内容