CentOS命令:用户组及用户管理
accttodo 12/31/2023 运维操作系统LinuxCentOS
目录
参考:
# CentOS命令:用户组及用户管理
# 用户组管理
以下是 CentOS 7 中关于用户组管理的常用命令汇总:
# 1. 创建与删除用户组
sudo groupadd developers # 创建新组(默认GID由系统分配)
sudo groupadd -g 1001 testgroup # 创建组并指定GID
sudo groupdel developers # 删除空组(组内无成员)
# 2. 修改组属性
sudo groupmod -n newgroup oldgroup # 重命名组
sudo groupmod -g 2002 newgroup # 修改组的GID
# 3. 管理组成员
sudo usermod -aG developers user1 # 添加用户到附加组(保留原组)-a表追加
sudo gpasswd -a user2 developers # 同添加用户到组
sudo gpasswd -d user1 developers # 从组中移除用户
sudo usermod -g developers user1 # 修改用户的主组(覆盖原主组)
# 4. 查看组信息
groups user1 # 查看用户所属组列表
id user1 # 查看用户UID/GID及组信息
getent group developers # 查看组的成员列表
cat /etc/group | grep developers # 从系统配置文件中检索组信息
# 5. 组权限与高级管理
sudo gpasswd -A user1 developers # 设置组管理员(可管理组成员)
sudo chgrp developers /project/ # 修改目录的所属组
sudo chmod 770 /project/ # 设置组内成员可读写执行
sudo gpasswd developers # 设置组密码(允许非成员通过newgrp临时加入)
# 6. 应用示例:创建共享目录
sudo mkdir /sharedata
sudo chown :developers /sharedata # 设置目录所属组
sudo chmod 2770 /sharedata # 设置SGID(新文件自动继承组权限)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
关键注意事项:
usermod -aG
必须使用-a
参数避免覆盖用户原有附加组,否则会清空其他组关系- 删除组前需确保组内无成员(可通过
getent group
验证) - 组密码机制(
gpasswd
)可用于临时切换主组(newgrp
),但需先设置密码 - SGID位(如
chmod 2770
)确保组内用户新建文件自动继承目录所属组,避免权限中断
以上命令需 root 权限执行(通过
sudo
或 root 用户操作)。文件权限数字表示法:7=rwx (4+2+1)
,5=r-x (4+0+1)
。
# 用户管理
#我是谁?
whoami
#还有谁?
compgen -u
1
2
3
4
2
3
4
# useradd
#添加一个用户,自动为其添加uid,gid,主目录
useradd username
#添加一个用户,指定uid,自动添加gid,主目录
useradd -u uid username
#添加一个用户,指定gid,自动添加uid,主目录
useradd -g gid username
#添加一个用户,指定主目录,自动添加uid,gid
useradd -g /userhome username
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
备注,
- uid是用户编号,0-499为系统编号,自己添加的用户从500开始,每新增一个用户,uid自加1
- gid是用户组编号,0-499为系统编号,自己添加的用户组从500开始,每新增一个用户组,gid自加1
# userdel
#删除一个用户,其主目录保存
userdel username
#删除一个用户,同时删除主目录
userdel -r username
1
2
3
4
2
3
4
备注:
- 当用户在登录时,无法删除该用户,想要删除,需要使用kill
# passwd
#添加用户密码
passwd username
#清空用户密码
passwd -d username
1
2
3
4
2
3
4
备注:
- 实际操作过程是新增一个用户,就要为这个用户直接添加密码
# usermod
usermod -l 改用户名
usermod -u 改用户uid
usermod -g 改用户gid
1
2
3
2
3