管理本地用户和组:红帽企业 Linux 系统安全的基础

发布于:2025-08-19 ⋅ 阅读:(21) ⋅ 点赞:(0)

在红帽企业 Linux(RHEL)系统中,用户和组的管理是保障系统安全与有序运行的核心环节。通过合理配置用户账户、分配组权限,可有效控制用户对系统资源的访问,避免未授权操作和权限滥用。本文将系统介绍本地用户和组的概念、管理工具及最佳实践。

一、用户与组的核心概念

1. 用户账户的类型与作用

用户账户是系统安全的基础,用于区分不同操作者并控制其权限。Linux 系统中的用户主要分为三类:

  • 超级用户(root):UID 为 0,拥有系统完全访问权限,负责系统管理,如安装软件、配置系统等。
  • 系统用户:供服务进程使用(如数据库、Web 服务器),通常无法交互式登录,UID 范围为 1-999,确保服务间资源隔离。
  • 普通用户:用于日常操作,UID 从 1000 开始,权限受限制,需通过授权获取高级操作权限。

每个用户通过唯一的用户名和 UID(用户 ID)标识,用户名便于人类识别,而系统内部通过 UID 区分用户。例如,id命令可查看当前用户的 UID 及组信息:

[user01@host ~]$ id
uid=1000(user01) gid=1000(user01) groups=1000(user01)

2. 组的分类与权限继承

组是用户的集合,用于批量分配权限,分为主要组补充组

  • 主要组:每个用户唯一所属的组,默认在创建用户时自动创建(与用户名相同),新文件的组所有权默认继承自主要组。
  • 补充组:用户可加入多个补充组,用于获取额外权限,如wheel组通常用于授予 sudo 权限。

组信息存储在/etc/group文件中,每行记录包含组名、GID(组 ID)及成员列表。例如:

group01:x:10000:user01,user02,user03

二、用户与组的管理工具

1. 用户管理命令

  • 创建用户useradd命令用于创建用户,默认生成同名主要组,需通过passwd设置密码后才能登录:
    [root@host ~]# useradd operator1  # 创建用户
    [root@host ~]# passwd operator1   # 设置密码
    
  • 修改用户usermod命令可调整用户属性,如更改主要组(-g)、补充组(-G)、锁定账户(-L)等:
    [root@host ~]# usermod -G wheel operator1  # 添加到wheel组
    [root@host ~]# usermod -L operator1        # 锁定账户
    
  • 删除用户userdel命令删除用户,-r选项可同时删除主目录(避免残留文件归属问题):
    [root@host ~]# userdel -r operator1  # 彻底删除用户及主目录
    

2. 组管理命令

  • 创建组groupadd命令创建组,-g可指定 GID:
    [root@host ~]# groupadd -g 30000 operators  # 创建GID为30000的组
    
  • 修改组groupmod命令修改组属性,如重命名(-n)、更改 GID(-g):
    [root@host ~]# groupmod -n newgroup oldgroup  # 重命名组
    
  • 删除组groupdel命令删除组(需确保组不是任何用户的主要组):
    [root@host ~]# groupdel operators  # 删除组
    

三、超级用户访问与权限控制

1. 切换超级用户身份

  • su命令:切换到其他用户,su -以登录 shell 方式切换(加载目标用户环境):
    [user01@host ~]$ su - root  # 切换到root用户
    
  • sudo命令:临时以其他用户(默认 root)身份执行命令,需配置/etc/sudoers授权:
    [user01@host ~]$ sudo systemctl restart httpd  # 以root权限重启服务
    

2. sudo配置方法

通过visudo命令编辑/etc/sudoers,或在/etc/sudoers.d/目录添加配置文件,例如允许admin组所有成员执行任何命令:

[root@host ~]# echo "%admin ALL=(ALL) ALL" > /etc/sudoers.d/admin

四、密码策略与账户安全

1. 密码期限管理

chage命令用于配置密码过期策略,如设置最长有效期(-M)、警告期(-W)等:

[root@host ~]# chage -M 90 -W 7 operator1  # 密码90天过期,提前7天警告

2. 强制密码更改与账户锁定

  • 强制用户首次登录更改密码:
    [root@host ~]# chage -d 0 operator1  # 下次登录必须改密码
    
  • 锁定账户(禁止登录):
    [root@host ~]# usermod -L operator1  # 锁定账户
    [root@host ~]# usermod -U operator1  # 解锁账户
    

五、总结

本地用户和组的管理是 Linux 系统安全的基础,通过useraddgroupadd等命令可创建和维护账户与组,结合sudo实现权限精细控制,利用chageusermod保障密码安全与账户可控。合理规划用户与组结构,可有效隔离资源、防范未授权访问,为系统稳定运行提供保障。


网站公告

今日签到

点亮在社区的每一天
去签到