上面仅是告知我,这些帐号并没有家目录,由于那些帐号绝大部分都是系统帐号, 确实也不需要家目录的,所以,那是‘正常的错误!’,相对应的群组检查可以使用 grpck 这个指令。
pwck 确保系统鉴认信息的完整性,pwck 对每一项的以下域进行检查:
-是否有唯一的用户名
-是否有合法的用户ID和组ID
-是否有合法的主组-是否有合法的家目录
-是否有合法的壳(命令解释器,如bash)
对于每一项的域数目和唯一用户名字的检查是至关重要的.如果某一项的域数目不正确,用户将被提示是否删除整行,如果用户没有肯定的回答,pwck将不再继续进行检查.如果有重复的用户名,用户将被提示是否删除该项,pwck将继续进行检查.其他的错误都只会警告用户,并且鼓励用户运行usermod命令去把错误改正.
一些对/etc/passwd文件进行操作的命令,如果无法对遭到破坏或者有重复项进行修改的话,pwck就要在这些情况下进行操作,把这些项删除.
# pwconv
这个指令主要的目的是在‘将/etc/passwd 内的帐号与密码,移动到/etc/shadow 当中!’ 早期的 Unix 系统当中并没有/etc/shadow ,所以,使用者的登入密码早期是在/etc/passwd 的第二栏,后来为了系统安全,才将密码资料移动到/etc/shadow 内的。 使用 pwconv 后,可以:
* 比对/etc/passwd 及/etc/shadow ,若/etc/passwd 内存在的帐号并没有对应的/etc/shadow 密码时,则pwconv 会去/etc/login.defs 取用相关的密码资料,并建立该帐号的 /etc/shadow 资料;
* 若/etc/passwd 内存在加密后的密码资料时,则pwconv 会将该密码栏移动到/etc/shadow 内,并将原本的/etc/passwd 内相对应的密码栏变成 x !