1

我有一个使用以下配置的带有 ssh 和 NIS 的可工作的 solaris 10 服务器:

# /etc/nsswitch.conf
passwd:     files nis
group:      files nis

# /etc/ssh/sshd_config
 Protocol 2
 Port 22
 ListenAddress ::
 AllowTcpForwarding no
 GatewayPorts no
 X11Forwarding yes
 X11DisplayOffset 10
 X11UseLocalhost yes
 PrintMotd no
 KeepAlive yes
 SyslogFacility auth
 LogLevel info
 HostKey /etc/ssh/ssh_host_rsa_key
 HostKey /etc/ssh/ssh_host_dsa_key
 ServerKeyBits 768
 KeyRegenerationInterval 3600
 StrictModes yes
 LoginGraceTime 600
 MaxAuthTries       6
 MaxAuthTriesLog    3
 PermitEmptyPasswords yes
 PasswordAuthentication yes
 PAMAuthenticationViaKBDInt yes
 PermitRootLogin yes
 Subsystem  sftp    /usr/lib/ssh/sftp-server
 IgnoreRhosts yes
 RhostsAuthentication no
 RhostsRSAAuthentication no
 RSAAuthentication yes

现在,我想切换到兼容模式:

# /etc/nsswitch.conf
passwd:     compat
group:      files nis

我添加了一些用户:

# /etc/passwd
+luke:x:::::

运行pwvcon,然后用户的密码验证luke不再起作用(而公钥仍然可以)。

我的设置有问题吗?

4

1 回答 1

1

来自passwd(4)

如果 +name 条目具有非空密码 [..],则该字段的值将覆盖备用命名服务中包含的内容。

您能看看删除 passwd 列中的“x”并再次运行 pwconv 是否有帮助?

编辑:第一个猜测完全错误,请参阅评论,所以这是另一个猜测——我现在不能破坏我的 Sun 配置,抱歉;)

于 2009-03-30T15:15:14.033 回答