首先,用户管理涉及到几个文件
- /etc/passwd 用户信息文件
- /etc/shadow 影子文件
- /etc/group 组信息文件
- /etc/gshadow 组密码文件
一、/etc/passwd 用户信息文件
可以通过man 5 passwd查看这个配置文件的描述。其中的每行的格式(下面以root用户为例来说明)为:
root:x:UID:GID:用户说明:家目录:登陆之后的shell
第一个字段是 用户名称
第二个字段是 密码标志
第三个字段是 UID
第四个字段是GID(用户初始组)
第五个字段是用户说明
第六个字段是家目录
第七个字段是登陆后的shell
关于UID, 一般服从下面的规定
| UID | 表示的用户 |
|---|---|
| 0 | 超级用户 |
| 1-499 | 系统用户(伪用户) |
| 500-65535 | 普通用户 |
关于GID,有下面的知识,用户的组分为两种类型
- 初始组,是用户一登录就立刻拥有这个用户组的相关权限,每个用户的初始组只能有一个,一般和用户的用户名相同。
- 附加组,用户可以加入多个其它的用户组,并拥有这些组的权限,附加组可以有多个。
关于家目录,对于root用户,它的家目录是/root/;对于普通用户,它的家目录是/home/用户名.
二、shadow 影子文件
shadow文件的权限是000,passwd文件的权限是644.shadow文件的权限更小,其中存放了加密的密码字符串。
其中包含了9个字段,如下面的例子,字段分别为
root:!@#$!@#$!@#$!@#%%!@#$#:12344:0:
- 用户名
- 经过加密的真正密码,如果密码位是
!!或者*表示没有密码。 - 密码最后一次修改时间。使用1970年1月1日为标准时间,每过一天就加1.
- 两次密码的修改间隔,如果是0,表示第一次密码改完后,不需要时间间隔,第二次密码就可以改,如果是10,那第二次改密码需要在第一次改密码之后10天才能改。
- 密码的有效期。
- 密码修改到期前的警告天数。
- 密码过期后的宽限天数。0表示密码过期立即失效,-1表示密码永远不会失效。
- 账号的失效时间(用时间戳表示,见第3条)。到这个时间就会失效。不管有效期是否到期。
- 保留。
下面是时间戳和人类熟知的日期的换算命令
-
把时间戳换算为日期:
date -d "1970-01-01 123423 days" -
把日期换算为时间戳:
echo $($(date --date="2023/09/23"+%s)/86400+1))
三、/etc/group 组信息文件
- 组名.
- 组密码标志
- GID
- 组中附加信息(初始用户?)
四、组密码文件/etc/gshadow
- 组名
- 组密码
- 组管理员用户名
- 组中附加用户

被折叠的 条评论
为什么被折叠?



