ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 详细解析Linux /etc/shadow文件

详细解析Linux /etc/shadow文件

原创 Linux操作系统 作者:wangsir_918 时间:2011-10-28 08:57:52 0 删除 编辑

与Linux /etc/passwd文件不同,Linux /etc/shadow文件是只有系统管理员才有权利进行查看和修改的文件,系统管理员应该弄明白Linux /etc/shadow文件中每个字符段的相应的意义,清楚管理时的具体意义。

Linux /etc/shadow文件中的记录行与/etc/passwd中的一一对应,它由pwconv命令根据/etc/passwd中的数据自动产生。它的文件格式与/etc/passwd类似,由若干个字段组成,字段之间用“:”隔开。这些字段是:
登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
1)“登录名”是与/etc/passwd文件中的登录名相一致的用户账号
2)“口令”字段存放的是加密后的用户口令字,长度为13个字符。如果为空,则对应用户没有口令,登录时不需要口令;如果含有不属于集合{./0-9A-Za-z}中的字符,则对应的用户不能登录。
3)“最后一次修改时间”表示的是从某个时刻起,到用户最后一次修改口令时的天数。时间起点对不同的系统可能不一样。例如在SCOLinux中,这个时间起点是1970年1月1日。
4)“最小时间间隔”指的是两次修改口令之间所需的最小天数。
5)“最大时间间隔”指的是口令保持有效的最大天数。
6)“警告时间”字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。
7)“不活动时间”表示的是用户没有登录活动但账号仍能保持有效的最大天数。
8)“失效时间”字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。

下面是/etc/shadow的一个例子:
#cat/etc/shadow
root:Dnakfw28zf38w:8764:0:168:7:::

linux操作系统的用户文件的说明 
/etc/passwd 
该目录存储的是操作系统用户信息,该文件为所有用户可见。 
linux系统添加一个帐号: 
useradd -g mysql -d /home/test -m test(:新建一个用户test, 属于mysql组,开始目录是/home/test) 
然后进入 /etc/passwd,可以看到如下信息,在最后一行可以看到刚加的用户的信息。如下 
   sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin 
   dovecot:x:97:97:dovecot:/usr/libexec/dovecot:/sbin/nologin 
   webalizer:x:67:67:Webalizer:/var/www/usage:/sbin/nologin 
   squid:x:23:23::/var/spool/squid:/sbin/nologin 
   pcap:x:77:77::/var/arpwatch:/sbin/nologin 
   haldaemon:x:68:68:HAL daemon:/:/sbin/nologin 
   xfs:x:43:43:X Font Server:/etc/X11/fs:/sbin/nologin 
   hsqldb:x:96:96::/var/lib/hsqldb:/sbin/nologin 
   gdm:x:42:42::/var/gdm:/sbin/nologin 
   hzmc:x:500:500:hzmc:/home/hzmc:/bin/bash 
   mysql:x:501:501::/home/mysql:/bin/bash 
   chenhua:x:503:501::/home/chenhua:/bin/bash 
   test:x:504:501::/home/test:/bin/bash 
可以看出/etc/passwd文件存放的是用户的信息,由6个分号组成的7个信息,解释如下 
   (1):用户名。 
   (2):密码(已经加密) 
   (3):UID(用户标识),操作系统自己用的 
   (4):GID组标识。 
   (5):用户全名或本地帐号 
   (6):开始目录 
   (7):登录使用的Shell,就是对登录命令进行解析的工具。 
下面为test用户设置密码,执行如下命令 
   passwd test 
   [root@localhost etc]# passwd test 
     Changing password for user test. 
     New UNIX password: 
     Retype new UNIX password: 
     passwd: all authentication tokens updated successfully. 
   [root@localhost etc]# 
然后进入/etc/shadow文件下面可以看到如下信息 
gdm:!!:14302:0:99999:7::: 
hzmc:$1$JZMjXqxJ$bvRpGQxbuRiEa86KPLhhC1:14302:0:99999:7::: 
mysql:!!:14315:0:99999:7::: 
chenhua:$1$YBJZNyXJ$BnpKFD58vSgqzsyRO0ZeO1:14316:0:99999:7::: 
test:$1$hKjqUA40$OelB9h3UKOgnttKgmRpFr/:14316:0:99999:7::: 
可以发现,共有9个栏目 
(1):帐号名称 
(2):密码:这里是加密过的,但高手也可以解密的。要主要安全问题(代!符号标识该帐号不能用来登录) 
(3):上次修改密码的日期 
(4):密码不可被变更的天数 
(5):密码需要被重新变更的天数(99999表示不需要变更) 
(6):密码变更前提前几天警告 
(7):帐号失效日期 
(8):帐号取消日期 
(9):保留条目,目前没用

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25801738/viewspace-709821/,如需转载,请注明出处,否则将追究法律责任。

上一篇: SCN和oracle recovery
请登录后发表评论 登录
全部评论

注册时间:2011-07-18

  • 博文量
    40
  • 访问量
    77868