现在的位置: 首页 > 综合 > 正文

用户管理篇之相关系统文件

2017年06月15日 ⁄ 综合 ⁄ 共 4408字 ⁄ 字号 评论关闭

在linux系统中(以ubuntu为主),用户和用户组的信息一般都存储在三个文件中:

/etc/passwd    /etc/shadow     /etc/group

下面开始介绍这三个文件的结构:

1、/etc/passwd

这个文件用户管理中最重要的一个文件。Linux系统中每一个用户都对应/etc/passwd文件中有一个

对应的记录行,它记录这个用户的一些基本属性,例如:用户名,uid,gid等.这个文件对所有用户都是可读的。下面时我的系统下的/etc/passwd文件:

01 root:x:0:0:root:/root:/bin/bash
02 daemon:x:1:1:daemon:/usr/sbin:/bin/sh
03 bin:x:2:2:bin:/bin:/bin/sh
04 sys:x:3:3:sys:/dev:/bin/sh
05 sync:x:4:65534:sync:/bin:/bin/sync
06 games:x:5:60:games:/usr/games:/bin/sh
07 man:x:6:12:man:/var/cache/man:/bin/sh
08 lp:x:7:7:lp:/var/spool/lpd:/bin/sh
09 mail:x:8:8:mail:/var/mail:/bin/sh
10 ......
11 speech-dispatcher:x:109:29:SpeechDispatcher,,,:/var/run/speech-dispatcher:/bin/sh
12 lightdm:x:110:116:LightDisplay Manager:/var/lib/lightdm:/bin/false
13 avahi:x:111:118:AvahimDNS daemon,,,:/var/run/avahi-daemon:/bin/false
14 colord:x:112:120:colordcolour management daemon,,,:/var/lib/colord:/bin/false
15 pulse:x:113:121:PulseAudiodaemon,,,:/var/run/pulse:/bin/false
16 hplip:x:114:7:HPLIPsystem user,,,:/var/run/hplip:/bin/false
17 saned:x:115:123::/home/saned:/bin/false
18 liluo:x:1000:1000:LiLuo,,,:/home/liluo:/bin/bash

从上面这个文件可以看到,/etc/passwd中一行记录对应着一个用户,每行记录又被冒号分割为7个

字段,其格式如下:

用户名:口令:UID:GID:注释行描述:用户主目录:登陆shell

一些字段的解释如下:

口令:

      系统用口令来验证用户的合法性。超级用户root或某些高级用户可以使用系统命令passwd来更改系统中所有用户的口令,普通用户也可以在登录系统后使用passwd命令来更改自己的口令。 

  现在的Unix/Linux系统中,口令不再直接保存在passwd文件中,通常将passwd文件中的口令字段使用一个“x”来代替,将/etc/shadow作为真正的口令文件,用于保存包括个人口令在内的数据。当然shadow文件是不能被普通用户读取的,只有超级用户才有权读取。 

  此外,需要注意的是,如果passwd字段中的第一个字符是“*”的话,那么,就表示该账号被查封了,系统不允许持有该账号的用户登录。

UID:GID:

 UID表示用户标示符,GID表示该用户所属组标识符,通常都是0~65535之间的阿拉伯数字,

他们具有唯一性。

注释行描述:

一些对用户的描述。

登陆shell:

用户登录到系统后运行的命令解释器,一般都是/bin/bash,当然还有其他的解释器,例

如:sh,csh.

像上述文件中第18行, 

18 liluo:x:1000:1000:LiLuo,,,:/home/liluo:/bin/bash

用户名:liluo       口令:x  
    UID:1000         GID:1000 

注释行描述:LiLuo,,,    登陆shell:/bin/bash

2、/etc/shadow

这个文件记录行和/etc/passwd中的记录行一一对应,与/etc/passwd文件不同,/etc/shadow文件是

只有系统管理员才有权利进行查看和修改的文件。

下面就是我的系统下/etc/shadow文件:

01 root:$6$/D3ZdVG6$ANBmsNJ.HjJpqWdV2brj2EOhNpPtb4scPl0fqLPpRo4BmGJ4cNN5U4
02 9usI9KlQPd0PIXsOH6xknYMZLquC6x0:15895:0:99999:7:::
03 daemon:*:15819:0:99999:7:::
04 bin:*:15819:0:99999:7:::
05 sys:*:15819:0:99999:7:::
06 sync:*:15819:0:99999:7:::
07 games:*:15819:0:99999:7:::
08 man:*:15819:0:99999:7:::
09 lp:*:15819:0:99999:7:::
10 mail:*:15819:0:99999:7:::
11 news:*:15819:0:99999:7:::
12 uucp:*:15819:0:99999:7:::
13 proxy:*:15819:0:99999:7:::
14 www-data:*:15819:0:99999:7:::
15 backup:*:15819:0:99999:7:::
16 lightdm:*:15819:0:99999:7:::
17 avahi:*:15819:0:99999:7:::
18 colord:*:15819:0:99999:7:::
19 pulse:*:15819:0:99999:7:::
20 hplip:*:15819:0:99999:7:::
21 saned:*:15819:0:99999:7:::
22 liluo:$6$b3c4qqB3$bkyhIx6NZZGtmwEcuyUL6FsktUeHqeqriGn3STq7ZVtD.9.UqDmK
23 G5IkTUj1n1oF/XyWiQUqbMfuW9b2n2FKH/:15888:0:99999:7:::
24 mysql:!:15897:0:99999:7:::

从上面这个文件可以看出,这里每条记录都与/etc/passwd有一个映射,分为9个字段,其文件格式

如下:

用户名:口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:保留

一些字段的解释:

口令:

 使用MD5加密的密码字串信息,当为 * 或!时,表示此用户不能登录.如果为空,则对应着用

户没有密码,登录时不需要密码。若是口令字段MD5加密的密码字串信息前面有!,则表示此账号被锁定,作用相当于禁用此账号。

最后一次修改时间:

上次修改密码的时间,表示从1970年01月01日起到最近一次修改密码时间的间隔天数。

最小时间间隔:

密码最短有效天数,自本次修改密码后,必须至少经过多少天才能修改,若为0,表示不进行

限制。

最大时间间隔:

密码最长有效天数,自本次修改密码后,经过该天数后必须修改,若为99999,表示不进行

限制。

警告时间:

提前多少天提醒用户,口令将过期,默认为7天

不活动时间:

密码过期多少天后,禁用此用户

失效时间

账号失效时间,指定了用户作废的天数(从1970.1.1起),默认为空,表示永久可用

保留:

保留字段,目前没有特定用途

像上述文件中第22,23行,

liluo:$6$b3c4qqB3$bkyhIx6NZZGtmwEcuyUL6FsktUeHqeqriGn3STq7ZVtD.9.UqDmK
G5IkTUj1n1oF/XyWiQUqbMfuW9b2n2FKH/:15888:0:99999:7:::

用户名:liluo

口令:

$6$b3c4qqB3$bkyhIx6NZZGtmwEcuyUL6FsktUeHqeqriGn3STq7ZVtD.9.UqDmKG5IkTUj1n1oF/XyWiQUqbMfuW9b2n2FKH/

最后一次修改时间:15888

最小时间间隔:0 最大时间间隔:99999 警告时间:7 不活动时间:
 失效时间: 保留:

2、/etc/group

用户组的所有信息都存储在这个文件中。将用户分组是Linux系统对用户进行管理及控制访问权限的

一种手段.每个用户都属于某个用户组,而每个组可以拥有多个用户,同样,每个用户也可以属于多个不同的组。当一个用户同时是多个组的成员时,在/etc/passwd文件中记录的时用户所属的主组,也就是登陆时所属的默认组,而其他组被称为附加组。下面就是我的系统下的/etc/group文件:

01 root:x:0:
02 daemon:x:1:
03 bin:x:2:
04 sys:x:3:
05 adm:x:4:liluo
06 tty:x:5:
07 ......
08 dialout:x:20:
09 fax:x:21:
10 voice:x:22:
11 cdrom:x:24:liluo
12 floppy:x:25:
13 tape:x:26:
14 sudo:x:27:liluo
15 audio:x:29:pulse
16 dip:x:30:liluo
17 ......
18 lpadmin:x:108:liluo
19 netdev:x:109:
20 whoopsie:x:110:
21 mlocate:x:111:
22 ssh:x:112:
23 utempter:x:113:
24 rtkit:x:114:
25 bluetooth:x:115:
26 lightdm:x:116:
27 nopasswdlogin:x:117:
28 avahi:x:118:
29 scanner:x:119:
30 colord:x:120:
31 pulse:x:121:
32 pulse-access:x:122:
33 saned:x:123:
34 liluo:x:1000:
35 sambashare:x:124:liluo
36 mysql:x:125:

从上面文件可以看出,该文件每条记录分为四段,其格式如下:

组名:口令:GID:组内用户列表

一些字段的解释:

口令: 

存放的是用户组加密后的口令字。一般Linux系统的用户组都没有口令,即这个字段一般为

空,或者是x

组内用户列表:

多个用户,用逗号隔开

以上就是所有对用户管理篇相关系统文件的解释

抱歉!评论已关闭.