CentOS命令:用户组及用户管理

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

关键注意事项

  1. usermod -aG 必须使用 -a 参数避免覆盖用户原有附加组,否则会清空其他组关系
  2. 删除组前需确保组内无成员(可通过 getent group 验证)
  3. 组密码机制(gpasswd)可用于临时切换主组(newgrp),但需先设置密码
  4. SGID位(如 chmod 2770)确保组内用户新建文件自动继承目录所属组,避免权限中断

以上命令需 root 权限执行(通过 sudo 或 root 用户操作)。文件权限数字表示法:7=rwx (4+2+1), 5=r-x (4+0+1)


# 用户管理

#我是谁?
whoami    
#还有谁?
compgen -u
1
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

备注,

  • uid是用户编号,0-499为系统编号,自己添加的用户从500开始,每新增一个用户,uid自加1
  • gid是用户组编号,0-499为系统编号,自己添加的用户组从500开始,每新增一个用户组,gid自加1

# userdel

#删除一个用户,其主目录保存
userdel username
#删除一个用户,同时删除主目录
userdel -r username  
1
2
3
4

备注:

  • 当用户在登录时,无法删除该用户,想要删除,需要使用kill

# passwd

#添加用户密码
passwd username 
#清空用户密码 
passwd -d username 
1
2
3
4

备注:

  • 实际操作过程是新增一个用户,就要为这个用户直接添加密码

# usermod

usermod -l    改用户名
usermod -u   改用户uid
usermod -g   改用户gid
1
2
3
上次更新时间: 8/3/2025, 10:09:53 AM