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

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

在红帽企业 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保障密码安全与账户可控。合理规划用户与组结构,可有效隔离资源、防范未授权访问,为系统稳定运行提供保障。

http://www.xdnf.cn/news/18126.html

相关文章:

  • Python数据容器(列表,元组,字典) 从入门到精通
  • ​Kali Linux 环境中的系统配置文件与用户配置文件大全
  • 无人机基础知识
  • 力扣70:爬楼梯
  • Alibaba Cloud Linux 3 在 Apple M 芯片 Mac 的 VMware Fusion 上部署的完整密码重置教程(二)
  • 功能测试相关问题
  • CNN-BiLSTM-Attention、CNN-BiLSTM、BiLSTM三模型多变量时序光伏功率预测
  • Maven 生命周期和插件
  • shell脚本第一阶段
  • 自学中医笔记(二)
  • Mysql——分库分表后id冲突解决方案(即分布式ID的生成方案)
  • 【tips】unsafe-eval线上页面突然空白
  • python实现pdfs合并
  • Ansible 部署LNMP
  • Read View 在 MVCC 里如何工作的?
  • 下载大模型经常遇到的报错Still waiting to acquire lock on Wan2.1-VACE-14B/.cache与解决办法
  • Linux系统WireShark抓取本地网卡报文
  • 发布npmjs组件库
  • 套接字超时控制与服务器调度策略
  • 多台服务器批量发布arcgisserver服务并缓存切片
  • 开发指南133-设定列表分页的初始默认每页行数
  • vue从入门到精通:搭建第一个vue项目
  • 【React Hooks】封装的艺术:如何编写高质量的 React 自-定义 Hooks
  • Rust学习笔记(六)|Rust 中的常用集合(Vector、String、HashMap)
  • Rust 异步中的 Waker
  • Linux权限的学习
  • 概率论基础教程第4章 随机变量(三)
  • 【opencv-Python学习笔记(7):图像平滑处理】
  • IntelliJ IDEA 开发配置教程
  • 独立看门狗(IWDG)