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

管理本地用户和组:红帽企业 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.dtcms.com/a/337188.html

相关文章:

  • TDengine `count_window` 指定列计数功能用户手册
  • 数据泵实施VPS海外:跨国数据同步的完整解决方案
  • elasticsearch-集成prometheus监控(k8s)
  • 【iOS】锁的原理
  • Flutter 多功能列表项:图标、文字与Switch组合
  • Highcharts for Flutter 正式发布
  • 云原生俱乐部-docker知识点归纳(1)
  • MySQL的多版本并发控制(MVCC):
  • 【Java基础常见辨析】重载与重写,深拷贝与浅拷贝,抽象类与普通类
  • 基于 JSP+Mysql实现MVC房屋租赁系统
  • Word 中 MathType 公式编号问题与解决
  • 自定义table
  • SpringBoot--Spring MVC 拦截器注入与 new 的区别
  • OSCP - Proving Grounds - Vanity
  • 分布式系统的“不可能三角”:CAP定理深度解析
  • 【数据结构】堆中插入数据,删除数据
  • Android Handler 线程执行机制
  • python遇到异常流程
  • 【Langchain系列二】LangChain+Prompt +LLM智能问答入门
  • Unix Domain Socket(UDS)和 TCP/IP(使用 127.0.0.1)进程间通信(IPC)的比较
  • Baumer高防护相机如何通过YoloV8深度学习模型实现网球运动员和网球速度的检测分析(C#代码UI界面版)
  • Spring AI Alibaba 项目接入兼容 OpenAI API 的大模型
  • Midjourney绘画创作入门操作创作(在线教育背景系列)
  • IOPaint 远程修图:cpolar 内网穿透服务实现跨设备图片编辑
  • Ansible文件部署与大项目多主机管理
  • 【Git】windows系统删除同名路径
  • 机器翻译论文阅读方法:顶会(ACL、EMNLP)论文解析技巧
  • IntelliJ IDEA中Maven的“Sync“与“Reload“详解:小白的避坑指南
  • python DataFrame基础操作
  • 从零开始部署经典开源项目管理系统最新版redmine6-Linux Debian12