Linux用户管理之配置文件
前言
Linux 用户管理涉及到几个文件
/etc/passwd
存储用户账号信息/etc/shadow
存储用户密码信息/etc/group
存储用户组信息/etc/gshadow
存储用户组管理员密码信息
文件结构
/etc/passwd文件结构
/etc/passwd
是存储账号的文件。
1 | [root@localhost ~]# cat /etc/passwd | grep -E "ahao|root" |
以冒号分割, 分为7个部分。
- ahao: 用户名。
- x: 以前存储密码的字段, 现在改为
/etc/shadow
文件。 - 500: 第一个500是
uid
用户id。 - 500: 第二个500是
gid
群组id, 在/etc/group
文件中。 - ahao: 这个是用户信息说明栏, 用来解释这个账号的意义。
- /home/ahao: 家目录
- /bin/bash: 默认使用
Bash
用户uid的编码规则
id 范围 | 该 ID 使用者特性 |
---|---|
0 | root用户, 系统管理员 |
1~99 | 系统id, 由 distributions 自行创建的系统账号, 启动系统服务使用该账号 |
100~499 | 系统id, 若用户有系统账号需求时, 可以使用的账号UID, 启动系统服务使用该账号 |
500~65535 | 可登陆账号, 一般用户使用 |
/etc/shadow 文件结构
/etc/shadow
是存储密码的文件。
1 | [root@localhost ~]# cat /etc/shadow | grep -E "ahao|root" |
以冒号分割, 分为8个部分。
- ahao: 用户名
$1$eoG3CKlq$D8deyAR.qvEws9kA5pFLd1
: 加密后的密码- 17431: 最近改密码的日期距离1970年1月1日的天数。
- 0: 只有0天后密码才能再次修改。
- 99999: 必须在99999天后修改密码, 否则账号标记为过期。
- 7: 警告该账号, 还有7天不修改密码的话, 账号就会过期。
- null: 在账号标识为过期后, 还有null天宽限期可以登录该账号, 登录后会强制让用户修改密码。
- null: 1970年1月1日的null天后账号失效, 和过期不同。
- null: 保留字段, 暂时没用。
/etc/group文件结构
/etc/group
是存储用户组的文件。
1 | [root@localhost ~]# cat /etc/group | grep -E "ahao|root" |
- ahao: 用户组名, 在不指定用户组的情况下,创建用户并指定密码后会默认创建同名用户组。
- x: 用户组密码, 改存储到
/etc/gshadow
文件。 - 500: 用户组ID, 对应
/etc/passwd
第四个字段。 - null: 用户组支持的账号, 一个账号可以有多个用户组, 比如
ahao
用户要加入root
用户组, 则编辑为root:x:0:root,ahao
即可。
/etc/gshadow文件结构
/etc/gshadow
是存储用户组密码的文件。
1 | [root@localhost ~]# cat /etc/gshadow | grep -E "ahao|root" |
- ahao: 用户组名, 在不指定用户组的情况下,创建用户并指定密码后会默认创建同名用户组。
- !!: 用户组密码。**!**表示没有密码, 即没有用户组管理员。
- null: 用户组管理员的账号。
- null: 用户组的下属账号
命令操作
1 | [root@localhost ~]# useradd user1 # 新增用户user1 |
不指定其他选项的情况下, useradd
和passwd
命令默认完成以下步骤, 默认配置文件在/etc/default/useradd
中。
/etc/passwd
新增一行用户信息, 包括创建UID/GID/家目录等。/etc/shadow
新增一行密码信息。/etc/group
新增一个和用户名同名的用户组。