linux-系统文件解释

2017-08-29  本文已影响0人  点点渔火

http://beautifual.blog.51cto.com/3678509/1700834

[root@pinfun6 ~]# cat /etc/passwd

root:x:0:0:root:/root:/bin/bash
 1   2 3 4  5     6      7
 |   | | |  |     |      |
 |   | | |  |     |      |--用户默认使用的SHELL
 |   | | |  |     |--用户家目录
 |   | | |  |--用户finger信息(注释信息)
 |   | | |--用户组ID(GID) 基本组ID, 一个用户有多个组 /etc/group
 |   | |--用户ID(UID)
 |   |--密码占位符x(密码保存在/etc/shadow文件内)
 |--用户名

这里的x表示是暗文显示。如果是其他什么数字,就代表是密码明文。

系统中有一类用户称为伪用户(psuedo users),这些用户在/etc/passwd文件中也占有一条记录,但是不能登录,因为它们的登录Shell为空。
它们的存在主要是方便系统管理,满足相应的系统进程对文件属主的要求。

登陆shell:用户登录后,要启动一个进程,负责将用户的操作传给内核,这个进程是用户登录到系统后运行的命令解释器或某个特定的程序,即Shell。Shell是用户与Linux系统之间的接口。Linux的Shell有许多种,每种都有不同的特点。常用的有sh(BourneShell),csh(CShell),ksh(KornShell),tcsh(TENEX/TOPS-20typeCShell),bash(BourneAgainShell)等。系统管理员可以根据系统情况和用户习惯为用户指定某个Shell。如果不指定Shell,那么系统使用sh为默认的登录Shell,即这个字段的值为/bin/sh。

若此处shell为:/sbin/nologin,则代表这个用户不能登录。这样做的好处是,ftp用户只能通过ftp登录ftp服务器,而不能登录到shell中。

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
rpm:x:37:37::/var/lib/rpm:/sbin/nologin
haldaemon:x:68:68:HAL daemon:/:/sbin/nologin
netdump:x:34:34:Network Crash Dump user:/var/crash:/sbin/nologin
nscd:x:28:28:NSCD Daemon:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
rpc:x:32:32:Portmapper RPC user:/:/sbin/nologin
mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin
smmsp:x:51:51::/var/spool/mqueue:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:4294967294:4294967294:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
pcap:x:77:77::/var/arpwatch:/sbin/nologin
xfs:x:43:43:X Font Server:/etc/X11/fs:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
pegasus:x:100:500:tog-pegasus OpenPegasus WBEM/CIM services:/var/lib/Pegasus:/sbin/nologin
chrysan:x:500:501::/home/chrysan:/bin/bash
slack:x:501:502::/home/slack:/bin/bash
apache:x:48:48:Apache:/var/www:/sbin/nologin
[root@pinfun6 ~]# cat /etc/shadow
root:$1$.TZS2yur$uQ3.5XLbdEhLkak9HKqZx/:16042:0:99999:7:空白:空白:空白
 1           2                            3   4   5   6  7    8   9
 |           |                            |   |   |   |  |    |   |--保留字段,目前为空
 |           |                            |   |   |   |  |    |--用户过期日期(单位/天),此字段指定了用户作废的天数(从1970年的1月1日至今天数)
 |           |                            |   |   |   |  |--在口令过期之后多少天禁用此用户
 |           |                            |   |   |   |--提前多少天警告用户口令将过期
 |           |                            |   |   |--两次修改口令间隔最多的天数
 |           |                            |   |--两次修改口令间隔最少的天数
 |           |                            |--上次修改密码的时间(单位/天),自1970年01月01日至今天数
 |           |--用户密码(对应/etc/passwd文件内的密码占位符),如果密码添加“!!”表示禁用该用户
 |--用户名(对应/etc/passwd文件内的用户名)
 注:其中字段4、5、6、7、8的值为空时,账号可永久使用

用户密码:这里可以看到3类,分别是奇奇怪怪的字符串、*和!!其中,奇奇怪怪的字符串就是加密过的密码文件。星号代表帐号被锁定,双叹号表示这个密码已经过期了。奇奇怪怪的字符串是以$6$开头的,表明是用SHA-512加密的,$1$ 表明是用MD5加密的、$2$ 是用Blowfish加密的、$5$是用 SHA-256加密的。

设置用户密码命令:passwd [option]... USERNAME操作的就是这个文件。

[root@pinfun6 ~]# cat /etc/group
root:x:0:root
 |   | |  |--额外组(可以多个用“,”隔开)
 |   | |--组ID(GID)
 |   |--组密码占位符
 |--组名
[root@pinfun6 ~]# cat /etc/gshadow
root:空白:空白:root
 |    |    |    |--以逗号分隔的小组成员
 |    |    |--以逗号分隔的组管理员
 |    |--加密的密码
 |--组名
上一篇下一篇

猜你喜欢

热点阅读