linux用户和用户组管理
1 用户配置文件
1.1 用户信息文件 /etc/passwd
文件内容格式:
用户名 : 密码标志 : 用户ID : 初始组ID : 用户说明 : home目录 : 登陆后的shell
用户ID:
ID | 用户类型 |
---|---|
0 | root用户 |
1~499 | 系统用户/伪用户 |
500~65535 | 普通用户 |
home目录:
* root用户: /root, 权限–550
* 普通用户: /home/用户名, 权限–700
1.2 影子文件 /etc/shadow
文件内容格式:
用户名 : 加密后的密码 : 最后一次修改密码的时间(天) : 两次密码修改的时间间隔 : 密码有效期 : 密码到期前的警告时间: 密码到期后的宽限时间 : 账号的失效时间 : 保留
若加密后的密码前有!或*,则改密码失效,用户不可登陆
1.3 组信息文件 /etc/group 和组密码文件 /etc/gshadow
group文件内容格式:
组名 : 组密码标志 : 组ID : 组中的附加用户
gshadow文件内容格式:
组名 : 组密码 : 组管理员用户名 : 组中的附加用户
2 用户管理相关文件
2.1 用户的home目录
终端登陆后所在的默认位置2.2 用户的邮箱
/var/spool/mail/用户名2.3 用户模板目录
/etc/skel/
每添加一个用户后,会在其home目录下自动生成该目录下的文件
3 用户管理命令
3.1 useradd 用户添加命令
useradd [选项] 用户名
选项:
* -u : 指定用户的数字ID
* -d : 指定用户的home目录
* -c : 指定用户说明
* -g : 指定用户的初始组
* -G : 指定用户的附加组
* -s : 指定用户登陆的shell,默认是/bin/bash
用户默认值配置文件
/etc/default/useradd
/etc/login.defs
3.2 usermod 修改用户信息命令
usermod [选项] 用户名(已存在的用户)
选项同useradd相同
* -L 锁定用户
* -U 解锁用户
3.3 chage 修改用户密码状态
chage [选项] 用户名
选项:->其实是修改shadow文件中该用户的信息
* -l 列出用户的详细密码状态
* -d 修改密码最后一次更改的日期
chage -d 0 用户名 -> 强制该用户首次登陆时必须修改密码
3.4 userdel 删除用户命令
userdel -r 用户名 -> 删除用户的同时删除其home目录
3.5 id 查看用户ID
id 用户名
3.6 su 切换用户
选项:
- 用户名
: 切换用户时连同环境变量一起切换
su - root -> 切换为root用户
su - root -c “command” -> 以临时root用户的身份执行命令
4 用户组管理命令
4.1 groupadd 添加用户组
groupadd 组名
* -g : 指定组ID
4.2 groupmod [选项] 组名
选项:
* -g : 修改组ID
* -n : 修改组名
4.3 groupdel 删除组
groupdel 组名
如果组里面有初始用户,即改组中的某个用户的初始组为当前组,那么当前组不能被删除.
4.4 gpasswd 向组里添加或删除用户
gpasswd [选项] 组名
选项:
* -a : 向组里添加用户,作为附加用户
* -d : 把用户从组里删除