用户与用户组相关配置文件
- 与用户相关的配置文件
- /etc/passwd 配置文件
- /etc/shadow 影子口令文件
- 与用户组相关的配置文件
- /etc/group 配置文件
- /etc/gshadow 影子文件
与用户相关的配置文件
Linux中每个用户都有一个唯一的User ID
User的信息存储在/etc/passwd中,用于存储用户名和home目录等信息
User的密码存储在/etc/shadow中
/etc/passwd
通常在Linux系统中,用户的关键信息被存放在系统的/etc/passwd文件中,系统的每一个合法用户账号对应于该文件中的一行记录。这行记录定义了每个用户账号的属性。下面是一个passwd文件的示例(部分摘录):
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
desktop:x:80:80:desktop:/var/lib/menu/kde:/sbin/nologin
mengqc:x:500:500:mengqc:/home/mengqc:/bin/bash
在该文件中,每一行用户记录的各个数据段用“:”分隔,分别定义了用户的各方面属性。各个字段的顺序和含义如下:
LOGNAME:PASSWORD:UID:GID:USERINFO:HOME:SHELL
注册名:口令:用户标识号:组标识号:用户描述:用户主目录:命令解释程序
/etc/shadow
先来看下shadow长什么样子:
[root@iZ94n184l8cZ /]# cat /etc/shadow
root:$6$dhqskEZn$ZcN9Q0xBsPha4R67jl3FbOub96o.j2M4vdZbCc2uvyQgrikX6Uup/2NjRT/S.TUgX4P2pwGBQ.A4D7BnXPOhT1:17119:0:99999:7:::
bin:*:16231:0:99999:7:::
daemon:*:16231:0:99999:7:::
可以看到每一行由8个:分隔为9个字段。原文解释可以用man 5 shadow查看。
|字段|解释|
|:-:|:-:|
|login name|登录名|
|encrypted password|加密的密码|
|date of last password change|最近更改密码日期|
|minimum password age|最小密码寿命(这些天内密码不允许更改。0表示随时可以更改)|
|maximum password age|最大密码寿命(指定密码寿命,过期后提醒用户更新密码)|
|password warninit period|密码过期前几天提醒用户更新密码|
|password inactivity period|密码不可用期限(实际上密码寿终后是还可以继续使用的,在它下地狱前还是有魂魄的,这个参数决定魂魄还能呆多久)|
|account expiration date|账户过期事件(这才是最终过期时间。在用户密码过期后用户还不更新密码的话,将到这个日期后用户将真的无法使用了)|
|reserved field|保留位|
与用户组相关的配置文件
每个User都属于一个Group,具有唯一的标识符GID
Group的信息存储于/etc/group中
Group的密码存储在/etc/gshadow中注意:系统会为每个User关联一个和User同名的Group
每个User至少存在于自己同名的Group中
User也可以加入其他的Group
在同一个Group中的成员可以共享其他成员的文件
/etc/group
/etc/group 的内容包括用户组(Group)、用户组口令、GID及该用户组所包含的用户(User),每个用户组一条记录;格式如下:
group_name:passwd:GID:user_list
举个例子: helloer:x:503:
注:用户组helloer,x是密码段,表示没有设置密码,GID是503,helloer用户组下包括GID为503的用户,可以通过 /etc/passwd查看;
我们查看一个用户组所拥有的用户,可以通过对比/etc/passwd和/etc/group来得到
/etc/gshadow
/etc/gshadow是/etc/group的加密资讯文件,比如用户组(Group)管理密码就是存放在这个文件。
/etc/gshadow和/etc/group是互补的两个文件;对于大型服务器,针对很多用户和组,定制一些关系结构比较复杂的权限模型,设置用户组密码是极有必要的。
比如我们不想让一些非用户组成员永久拥有用户组的权限和特性,这时我们可以通过密码验证的方式来让某些用户临时拥有一些用户组特性,这时就要用到用户组密码。
[root@localhost ~]# cat /etc/gshadow
root:::root
bin:::root,bin,daemon
组名:口令:组管理者:组内用户列表
1) 组名: 是用户组的名称,由字母或数字构成。
2) 口令:用户组密码,这个段可以是空的或!,如果是空的或有!,表示没有密码
3) 组管理者:这个字段也可为空,如果有多个用户组管理者,用,号分割
4) 组内用户列表:如果有多个成员,用,号分割 ;