我最近在我的 NIS 中添加了一个新的(客户端)服务器。一个月左右这工作正常,但从今天开始我突然无法再通过 SSH 登录。同一台服务器上的一些其他服务(例如 IMAP)可以正常工作。另一个 NIS 客户端似乎工作正常。
SSH 会话在成功登录后立即终止:
some.nis.user@nismaster:~$ ssh faultyserv
some.nis.usern@faultyserv's password:
Connection to faultyserv closed by remote host.
Connection to faultyserv closed.
/etc/log/auth.log
包含:
Aug 31 12:42:22 faultyserv sshd[27909]: pam_unix(sshd:session): session opened for user some.nis.user by (uid=0)
Aug 31 12:42:22 faultyserv sshd[27909]: fatal: login_get_lastlog: Cannot find account for uid 1234
如果我设置UseLogin yes
,/etc/ssh/sshd_config
我可以登录,但得到一个奇怪的外壳:
I have no name!@faultyserv:~$ pwd
/home/s/some.nis.user
I have no name!@faultyserv:~$ sudo echo
sudo: unknown uid 1234: who are you?
I have no name!@faultyserv:~$ id some.nis.user
uid=1234 gid=1975(some.nis.user) groups=4294967295,2177(somegroup),/*snip a long grouplist*/
我认为NIS有问题,但不知道如何解决这个问题,有人知道吗?
我的/etc/nsswitch.conf
包含(在没有 nis 的更多条目中):
passwd: files nis
group: files nis
shadow: files nis
netgroup: nis
问题是
passwd.byuid
地图没有被转移。运行
yppush passwd.byuid
时nismaster
出现超时错误并在faultyserv
's中生成以下内容/var/log/syslog
:从服务器指定了错误的主服务器:
重新运行
/usr/lib/yp/ypinit -s nismaster
解决faultyserv
了问题这有时会在 Debian 系统上发生,因为使用了
它将敏感的密码哈希放在影子文件中,并用相同的平淡的“x”条目重写密码和组文件。
在重建 passwd 和组文件之前,您必须在 NIS 主机上执行此操作
在 Debian 上
不要忘记您必须添加到客户端上的 passwd 和组的特殊条目,这里是 passwd 条目(在 postgres 之后)。
这是第一组,在 sambashare 之后。
以及 /etc/nsswitch.conf 中提到的“nis”