一篇文章快速搞懂Linux用户与用户组管理
用户(UID)
在linux系统中将用户信息存储在/etc/passwd文件中,我们可以进行查看。
以root用户为例,我们看看他的组成部分root:x:0:0:root:/root:/bin/bash
a????️c:d:e:f:g
我用a-g来标识每个部分,更方便解释
- a:账户名
- b:用户密码 x意为密码在/etc/shadow文件中
- c:uid号
- d:gid号
- e:用户信息说明
- f:该用户的家目录
- g:shell
用户类型
root用户:
超级管理员,UID为0.具有最高权限
系统用户
UID为1-499,一般不会被使用
普通用户
UID数从500开始用起
用户创建与修改
创建用户
useradd 用户名
- -g 初始化用户组
- -d 家目录
- -s 指定shell
- -e 账户过期时间
注:如果不填写初始化用户组,会自动创建以该用户名为名称的用户组
例:useradd test -g test -e 2020-03-22
设置密码
passwd 用户名
密码文件存储位置:/etc/shadow
例:passwd test0
删除用户
userdel 用户名
-r 添加后表示包括用户家目录一起删除userdel -r test0
查看用户信息
chage -l 用户名
修改用户默认家目录
用户家目录的内容依照 /etc/skel的目录结构,如果我们想改变家目录的默认结构,只需要在此创建或修改目录
修改用户所属用户组
修改初始组
usermod -g 组名 用户名
替换/etc/passwd第四字段,初始化用户组
添加组
usermod -G 组名 用户名 覆盖组
usermod -aG 组名 用户名 累加组
修改/etc/group第四字段,累加
用户组
用户组创建
groupadd 组名
用户组删除
groupdel 组名
将用户从组中剔除
gpasswd -d 用户名 组名
文件所有者
改变文件或目录所有者
chown -R 所有者 文件
加R表示目录下所有文件
改变文件或目录的组所有者
chgrp 所有者 文件