Linux用户管理
Linux用户管理
用户相关文件
/etc/passwd
用户信息文件
jason:x:500:500::/home/jason:/bin/bash
- 第一列:用户名
- 第二列:密码位。这里的密码仅仅做个占位,存放的并不是真正的密码。
- 第三列:用户 id,UID 为 0 表示是超级管理员账号。1-499 系统用户UID 。其中 1-99 是系统保留的账号,系统自动创建。100-499 是预留给用户创建系统账号的。500-65535 普通用户 UID
- 第四列: 组 id GID 添加用户时,如果不指定用户所属的初始组,那么会建立和用户名相同的组
- 第五列: 用户说明
- 第六列:用户家目录
- 第七列:登录 shell 登录后用哪种解析器去执行
/etc/shadow
用户密码文件
jason:$6$qN8J4Wbo$PcGKJy3Bg0yTmj5zgozXQ7Ui2C8hFbmeuk3kPO2ux5R0LTOnj/9lXOOUIZEC4by/8WwR4A0s985NnN9qzYC5S0:17947:0:99999:7:::
- 第一列:用户名
- 第二列:加密密码。 在密码前加上
!
或*
让密码暂时失效,可以禁止用户登录 - 第三列:密码最近修改时间。时间戳。
- 第四列:两次修改密码的间隔时间(以第三列时间为开始)。默认是 0 如果不是 0 ,要过了你设置的时间才能修改密码。单位是 天。比如说你设置成了 2,那么意思就是把第三列时间戳转出时间在这个时间后的两天内都不能修改密码
- 第五列:密码有效期(以第三列时间为开始)。假如你设置成 180,那么意思就是 密码 180天内有效
- 第六列:密码修改到期前的警告天数(和第五列相比)。默认是 7 。比如说你第五列设置的是 180 那么到了第 173天,你每一次登录就会提醒你密码快到期了,修改密码
- 第七列:密码过期后的宽限天数(和第五列相比)。你可以把它写成 0 那么密码到期后这个用户就被禁用了
- 第八列:密码失效时间。这里同样要写时间戳,如果超过失效时间,就算密码没有过期,用户也会失效无法使用了。
- 第九列:保留。
/etc/group
组信息文件
jason:x:500:
- 第一列:组名。
- 第二列:组密码位
- 第三列:组 ID
- 第四列:此组中支持的其他用户。附加组是此组的用户
初始组
每个用户初始组只能有一个。一般都是和用户名相同的组作为初始组。
附加组
每个用户可以属于多个附加组。要把用户加入组,都是加入附加组。
/etc/skel
用户家目录生成模板目录
就是你创建一个用户,会在 home 目录下生成一个同名的目录
ls -a .bash_logout .bash_profile .bashrc .gnome2 .mozilla # 会发现有这么多自动生成的隐藏文件 ls -a /etc/skel/ .bash_logout .bash_profile .bashrc .gnome2 .mozilla # 发现这个目录下也有隐藏文件,上面的隐藏文件是根据这个模板来生成的,如果你在这个目录下,在加一个文件,那么你新建一个用户,在用户的家目录也会生成对应的文件
用户管理命令
1
2
3
4
新增用户:useradd
修改用户:passwd
删除用户:userdel
切换用户:su
组管理命令
1
2
3
添加用户组:groupadd
删除用户组:groupdel
把用户添加进组或从组中删除: gpasswd
本文由作者按照 CC BY 4.0 进行授权