geriwolf 发表于 2009-06-22 17:16

Solaris和Linux在NIS中的password问题

现象:
一个NIS环境,master server是Solaris 9,client有Solaris 8、Solaris 9和Solaris 10的机器,最近新加了一些Linux/CentOS系统的client到NIS中,出现了一个问题:
在Linux的client上登录了NIS里的账号后,用passwd命令对该账号进行密码修改,之后发现这些账号在Solaris 8的机器上无法登陆,输入正确的密码后提示Login incorrect,但是在Solaris 9和10以及Linux的机器上登录都是正常的。
后来我去master 上看了下shadow文件,发现修改过密码的账户其密码散列变长了,
原来是:user:kOyapkBQBYG8I:14383::::::
变成了:user:$1$FF60WEDx$82x11MJbuwcQclmASqsmal:14383::::::
我清空密码散列,重置密码,甚至删除该用户重新创建,都不能在Solaris 8上登录,只要用passwd对该用户设置了密码,散列长度就会变成长的那种,变不回短的了。
原因:
Solaris中对密码的加密方式默认是DES,而Linux中默认采用MD5方式加密,这就造成了在shadow中的密码散列不一样。

在Solaris 9以及之后的版本中,系统支持采用MD5加密的密码散列,但在Solaris 8和之前版本中,无法支持,所以造成了Solaris 8上登录不了,Solaris 9和10上却登录正常的情况。


解决办法:
在Linux上以root身份运行命令
authconfig --disablemd5 --useshadow --kickstart
禁用MD5散列,之后在Linux上用passwd命令重置下用户密码。

回到master server上,查看shadow文件,可以看到密码变成DES加密的散列,也就是变短了,这个时候再登录Solaris 8的机器,就可以正常登录了。

还有个说法是在Linux上可以使用yppasswd命令来重置密码,因为yppasswd是采用的DES加密,但是我试了却不行,可能与不同的Linux系统有关。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/80598/showart_1973354.html
页: [1]
查看完整版本: Solaris和Linux在NIS中的password问题