关于/etc/shadow

来源:互联网 发布:spark sql insert 编辑:程序博客网 时间:2024/05/18 03:27

   /etc/passwd是用户数据库,其中的域给出了用户名、加密口令和用户的其他信息. /etc/shadow是在安装了影子(shadow)口令软件的系统上的影子口令文件。影子口令文件将/etc/passwd 文件中的加密口令移动到/etc/shadow中,而后者只对超级用户root可读。这使破译口令更困难,以此增加系统的安全性。

    Linux /etc/shadow文件中的记录行与/etc/passwd中的一一对应,它由pwconv命令根据/etc/passwd中的数据自动产生。它的文件格式与/etc/passwd类似,由若干个字段组成,字段之间用“:”隔开。这些字段是:
登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
1)“
登录名”是与/etc/passwd文件中的登录名相一致的用户账号
2)“
口令”字段存放的是加密后的用户口令字,长度为13个字符。如果为空,则对应用户没有口令,
录时不需要口令;如果含有不属于集合{./0-9A-Za-z}中的字符,则对应的用户不能登录。
3)“
最后一次修改时间”表示的是从某个时刻起,到用户最后一次修改口令时的天数。时间起点对不同
的系统可能不一样。例如在SCOLinux,这个时间起点是197011日。
4)“
最小时间间隔”指的是两次修改口令之间所需的最小天数。
5)“
最大时间间隔”指的是口令保持有效的最大天数。
6)“
警告时间”字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。
7)“
不活动时间”表示的是用户没有登录活动但账号仍能保持有效的最大天数。
8)“
失效时间”字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。
    期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。
   下面是/etc/shadow的一个例子
:
#cat /etc/shadow
root:Dnakfw28zf38w:8764:0:168:7:::
   Unix系统最初是用明文保存密码的,后来由于安全的考虑,采用crypt()算法加密密码并存放在/etc/passwd文件。现在,由于计算机处理能力的提高,使密码破解变得越来越容易。/etc/passwd文件是所有合法用户都可访问的,大家都可互相看到密码的加密字符串,这给系统带来很大的安全威胁。现代的Unix系统使用影子密码系统,它把密码从/etc/passwd文件中分离出来,真正的密码保存在/etc/shadow文件中,shadow文件只能由超级用户访问。这样入侵者就不能获得加密密码串,用于破 解。使用shadow密码文件后,/etc/passwd文件中所有帐户的password域的内容为"x",如果password域的内容为"*",则该帐号被停用。



原创粉丝点击