在一个不安全的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。