当前位置: 首页 > news >正文

用户组管理指令大全

以下是为您整理的 RHEL 用户组管理指令大全和重点注意事项:

1. 查询/查看组信息

# 查看当前用户所属的所有组
groups
groups [用户名]
​
# 查看用户的主组和附加组
id [用户名]
​
# 查看所有组信息
cat /etc/group
getent group
​
# 查看特定组信息
getent group [组名]
grep [组名] /etc/group
​
# 查看组密码信息(需要root权限)
cat /etc/gshadow

2. 创建组

# 创建普通组
groupadd [组名]
​
# 创建指定GID的组
groupadd -g [GID] [组名]
​
# 创建系统组(GID < 1000)
groupadd -r [组名]
​
# 创建系统组并指定GID
groupadd -r -g [GID] [组名]

示例:

groupadd developers
groupadd -g 1001 testgroup
groupadd -r systemgroup

3. 修改组信息

# 修改组名
groupmod -n [新组名] [原组名]
​
# 修改组GID
groupmod -g [新GID] [组名]
​
# 同时修改组名和GID
groupmod -n [新组名] -g [新GID] [原组名]

示例:

groupmod -n devteam developers
groupmod -g 1002 devteam

4. 删除组

# 删除空组(组内无用户)
groupdel [组名]
​
# 强制删除组(即使组内有用户)
# 注意:这会移除用户与该组的关联,但不删除用户,还想删除用户的话得分开删除
groupdel -f [组名]      

5. 管理组成员

# 将用户添加到附加组
usermod -aG [组名] [用户名]
​
# 设置用户的主组
usermod -g [组名] [用户名]
​
# 同时设置主组和附加组
usermod -g [主组] -G [附加组1,附加组2,...] [用户名]
​
# 使用gpasswd管理组成员
gpasswd -a [用户名] [组名]    # 添加用户到组
gpasswd -d [用户名] [组名]    # 从组中移除用户
​
# 设置组管理员
gpasswd -A [管理员用户] [组名]
​
# 查看组成员
getent group [组名]
groups [用户名]######示例:usermod -aG wheel alice
usermod -aG developers,sudo bob
gpasswd -a charlie developers
gpasswd -d charlie developers

6. 组密码管理

# 设置组密码(允许非成员临时加入)
gpasswd [组名]
​
# 移除组密码
gpasswd -r [组名]

7. 临时切换组

# 临时切换当前用户的有效组,用户创建文件时的默认属组会变为指定的组,此时会开创一个子shell,后续的命令在子shell中执行
newgrp [组名]
​
# 执行命令时临时使用其他组
sg [组名] [-c "命令"]

所以在执行脚本的时候不能使用newgrp命令,会产生阻塞 =====>>>用户执行后输入exit可退出子shell

学习重点和核心概念

1. 理解两种组类型

  • 主组(Primary Group):用户创建文件时的默认属组

    • 每个用户必须有且只有一个主组

    • /etc/passwd 的第四个字段定义

  • 附加组(Supplementary Group):用户额外所属的组

    • 用户可以属于多个附加组

    • 用于授予额外的文件访问权限

2. 重要系统组

root    # 超级管理员组 (GID 0)
wheel   # 允许使用sudo的组(CentOS/RHEL)
sudo    # 允许使用sudo的组(Ubuntu/Debian)

想一个用户具有sudo权限,对/etc/sudoers 单独配置,或这将其添加到sudo

3. 文件权限与组的关系

# 查看文件权限和属组
ls -l filename
# 输出:-rw-r--r-- 1 alice developers 1024 Jan 1 10:00 filename
#                        ↑       ↑
#                     属主用户  属组

重要注意事项和最佳实践

⚠️ 危险操作警告

  1. 不要随意删除系统组

    # 危险:删除系统关键组可能导致服务异常
    groupdel root
    groupdel wheel

  2. 修改GID可能影响现有文件

    # 修改GID后,原有文件的组归属不会自动更新
    groupmod -g 2000 oldgroup
    # 需要手动修复文件属组:find / -gid 1000 -exec chgrp 2000 {} \;

  3. 谨慎使用组密码功能

    • 组密码在现代系统中很少使用

    • 存在安全风险,建议直接管理组成员

🔧 最佳实践

  1. 创建用户时指定组

    # 创建用户并指定主组
    useradd -g [主组] -G [附加组1,附加组2] [用户名]# 示例
    useradd -g developers -G wheel,sudo newuser

  2. 使用 -aG 参数避免覆盖原有附加组

    # 错误:会覆盖用户原有的所有附加组
    usermod -G newgroup username
    ​
    # 正确:追加到现有附加组
    usermod -aG newgroup username

  3. 定期审计组权限

    # 检查特权组成员
    getent group wheel
    getent group sudo
    ​
    # 检查用户的组权限
    id username
    groups username

  4. 备份组配置文件

    # 备份组配置
    cp /etc/group /etc/group.backup
    cp /etc/gshadow /etc/gshadow.backup

🛠️ 故障排查技巧

  1. 用户无法访问文件

    # 检查用户所属组
    groups username
    ​
    # 检查文件权限和属组
    ls -l filename
    ​
    # 检查目录的setgid位
    ls -ld directory

  2. 组删除失败

    # 检查组是否被用作用户的主组
    grep [组名] /etc/passwd
    ​
    # 检查组内是否还有成员
    getent group [组名]

  3. 权限继承问题

    # 设置目录的setgid位,使新建文件继承目录的组
    chmod g+s directory


常用命令速查表

操作命令
查看用户组groups, id, getent group
创建组groupadd, groupadd -g GID name
修改组groupmod -n newname oldname, groupmod -g newGID name
删除组groupdel name
添加用户到组usermod -aG group user, gpasswd -a user group
从组移除用户gpasswd -d user group
设置组管理员gpasswd -A adminuser group

掌握这些命令和概念后,您就能熟练管理 RHEL 系统中的用户组权限了。建议在测试环境中多加练习!

http://www.dtcms.com/a/574270.html

相关文章:

  • 网站建设经费保障青海网站开发多少钱
  • 跨越协议鸿沟:RS485转ETHERCAT网关在电力电动机保护中的破局之道
  • 【开题答辩全过程】以 扶贫农产品销售平台APP为例,包含答辩的问题和答案
  • 专业做网站建设公司有哪些o2o网站建设行业现状
  • 自己做网站服务器多少钱网站域名怎么修改吗
  • 黑马JAVAWeb-05 JDBC入门-预编译SQL-Mybatis入门-Mybatis日志输出-数据库连接池-增删改查-XML映射配置
  • 济南高端网站asp.net怎样做网站登录
  • 北京平台网站建设哪家好有口碑的镇江网站优化
  • 抖音来客如何实现自动回复
  • 网站设计入门闸北品牌网站建设
  • PhotoShop网页版(在线ps)在快速修复老照片,在线修旧如新
  • 网站怎么做评估wordpress获取当前子分类
  • 《P2585 [ZJOI2006] 三色二叉树》
  • 无需人类标注!Meta提出SPICE:让AI在文档语料库中自我对弈,推理能力持续进化
  • 手机网站制作套餐查企业不要钱的软件
  • 学做吃的网站有哪些php 网站开发流程
  • 金仓数据库提出“三低一平”的迁移理念
  • 网站建设方案书备案网店设计流程图
  • 带地板翻转的网站怎么做网站开发需求评估
  • 免费客户管理系统选型攻略:功能、体验与扩展性
  • 建立公司网站的申请资料查询网站建设
  • wordpress去除首页上海网站关键词优化服务
  • SVD分解后的各个矩阵的深层理解
  • 【ZYNQ杂记】Debug模式下可以运行的程序但固化后运行卡死
  • Spring Boot 响应拦截器(Jackson)实现时间戳自动添加
  • 网站开发与服务合同wordpress 商城系统
  • 郑州企业网站怎么优化保障性租赁住房管理平台
  • 系列文章<十>(从LED显示屏的低灰跳灰(线性度不好)问题问题问题到手机影像):从LED冬奥会、奥运会及春晚等大屏,到手机小屏,快来挖一挖里面都有什么
  • 自动化测试-pytest框架-进阶
  • 学习做网站的网站wordpress 教程 插件