在一个不安全的NIS中,任意一台机器上使用ypcat passwd命令是可以看到NIS所有账号的密码散列值的,这样就存在安全隐患。设置C2 Security后,ypcat passwd可以看到,原来显示密码散列值的部分被##logname代替了,这样可防止密码散列被窃取。只需要简单几步,在现有的NIS环境中设置C2 Security,步骤如下:
在master server上需要做的操作:
# cd /nis
# mkdir security
# mv shadow security/passwd.adjunct
# cd /var/yp
# /usr/ccs/bin/make passwd passwd.adjunct
Ctrl ^C
执行到这里会停住,按Ctrl+C退出,因为在向slave进行push时,slave上没有passwd.adjunct文件的map,所以push不上去;
到所有的slave server上执行如下操作:
# /usr/lib/netsvc/yp/ypxfr -h master-server passwd.adjunct.byname
然后回到master server上,继续执行上条未完成的命令:
# /usr/ccs/bin/make passwd passwd.adjunct
这个时候就可以push到slave上了;
重启yp服务:
# /usr/lib/netsvc/yp/ypstop
# /usr/lib/netsvc/yp/ypstart
注意点:
1、如果NIS目录下的shadow,不使用mv,而使用cp拷贝到security目录下的话,会导致用passwd或者yppasswd修改密码时将新密码修改至shadow文件,而不是新的passwd.adjunct文件,即使重启了yp服务仍是这样。并且用户登录时以shadow的密码为准,用户修改密码也是改的shadow文件。
2、如果原NIS目录下存在shadow的话,在make passwd的时候,如果事先没有对passwd文件进行修改,系统是不会去update和push这个passwd的,这样的话,在所有的机器上ypcat看passwd仍然显示的是密码散列,起不到隐藏的作用;相反,如果不存在shadow文件,即使passwd文件没有变化,系统也会在每次make passwd的时候将passwd文件update和push。
3、如果不重启yp服务,会导致在修改密码的时候出现Permission denied。
4、测试发现在添加用户的时候不需要make passwd.adjunct。
【编辑推荐】