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

信创系统 sudoers 权限配置实战!从小白到高手

好文链接:实战!银河麒麟 KYSEC 安全中心执行控制高级配置指南

Hello,大家好啊!今天给大家带来一篇关于信创终端操作系统中 sudoers 文件详解的实用文章!在 Linux 系统中,sudo 是一项非常重要的权限控制机制,它允许普通用户以其他用户(通常是 root)身份执行指定的命令。而 sudo 的行为规则,全部由 /etc/sudoers 文件来定义和管理。正确理解和配置 sudoers 文件,不仅能提升系统管理的安全性,也能让权限分配更加灵活高效。本文将全面讲解 sudoers 文件的结构、写法、典型配置示例及最佳实践。欢迎大家分享点赞,点个在看和关注吧!

1.什么是 sudoers 文件?

/etc/sudoers 是 sudo 工具的主配置文件。它定义了哪些用户或用户组可以使用 sudo,能以谁的身份执行哪些命令,以及是否需要输入密码等行为细节。

sudoers 文件必须由 root 用户通过专门的编辑工具 visudo 修改,确保语法正确,避免因配置错误导致系统无法使用 sudo。

注意:直接用普通文本编辑器(如 vim 或 nano)打开 /etc/sudoers 是不安全的,必须用 visudo。

2.sudoers 文件基本语法结构

一条典型的规则格式为:

用户或用户组 主机 = (以谁的身份) [是否免密码] 允许执行的命令

各部分含义:

*部分**说明*
用户或用户组指定用户名或以 %组名 表示的用户组
主机指定在哪些主机上有效,通常填写 ALL
(以谁的身份)指定以哪个用户身份执行命令,常用 (ALL) 或 (root)
[是否免密码]NOPASSWD: 表示免密码;不写则默认需要输入密码
允许执行的命令指定具体允许执行的命令,必须使用绝对路径

3.常见配置示例

3.1 创建普通用户

作用:在系统中新增一个名为 pdsyw1024 的普通用户,默认无管理员(sudo)权限。

img

3.2允许用户执行所有命令(需输入密码)

pdsyw@pdsyw-PC:~/Desktop$ sudo visudo
​
pdsyw1024 ALL=(ALL) ALL

用户 pdsyw1024 在所有主机上,可以以任何身份执行任何命令,但执行时需要输入密码。

img

pdsyw1024@pdsyw-PC:~$ sudo apt install nginx

解释:用户 pdsyw1024 现在可以用 sudo 安装软件,比如安装 nginx,执行前会要求输入自己的登录密码。

img

3.3 允许用户执行特定命令且免密码

pdsyw@pdsyw-PC:~/Desktop$ sudo visudo
​
pdsyw1024 ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart nginx

用户 pdsyw 可以直接重启 nginx 服务,无需输入密码,且只能执行指定命令。

img

pdsyw1024@pdsyw-PC:~$ sudo systemctl restart nginx
​
pdsyw1024@pdsyw-PC:~$ sudo systemctl stop nginx
​
对不起,用户 pdsyw1024 无权以 root 的身份在 pdsyw-PC 上执行 /usr/bin/systemctl stop nginx。

解释:用户只能重启 nginx服务,无法停止、启动或管理其他服务。

这是限制最小权限原则的体现。

img

3.4 给用户组统一授权

pdsyw@pdsyw-PC:~/Desktop$ sudo usermod -aG pdsyw pdsyw1024 
​
pdsyw@pdsyw-PC:~/Desktop$ id pdsyw1024 
​
uid=1001(pdsyw1024) gid=1001(pdsyw1024) 组=1001(pdsyw1024),7(lp),100(users),109(netdev),117(lpadmin),119(scanner),997(sambashare),1000(pdsyw)

含义:把用户 pdsyw1024 加入到 pdsyw 用户组中(-aG表示追加到新组,不影响原有组)。

img

pdsyw@pdsyw-PC:~/Desktop$ sudo visudo
​
%pdsyw ALL=(ALL) ALL

pdsyw 组内的所有用户,拥有 sudo 所有权限。

注意:组名前必须加 % 符号。

含义:% 表示用户组,赋予 pdsyw 组内所有成员完全的 sudo 权限,执行任何命令,需要输入密码。

img

pdsyw1024@pdsyw-PC:~$ sudo systemctl stop nginx
​
pdsyw1024@pdsyw-PC:~$ sudo systemctl restart nginx
​
pdsyw1024@pdsyw-PC:~$ sudo apt install nginx

解释:属于 pdsyw 组的用户可以正常用 sudo 执行各类系统管理命令。

img

3.5允许执行多个特定命令

pdsyw@pdsyw-PC:~/Desktop$ sudo visudo
​
pdsyw1024 ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart nginx, /usr/bin/systemctl stop nginx

含义:允许 pdsyw1024 免密码执行重启和停止 nginx 的命令,中间用逗号分隔多个命令。

img

pdsyw1024@pdsyw-PC:~$ sudo systemctl restart nginx
​
pdsyw1024@pdsyw-PC:~$ sudo systemctl stop nginx
​
pdsyw1024@pdsyw-PC:~$ sudo systemctl start nginx
​
对不起,用户 pdsyw1024 无权以 root 的身份在 pdsyw-PC 上执行 /usr/bin/systemctl start nginx。

解释:用户只能执行被列出的特定命令,不能超出范围,比如无法执行 start nginx。

img

4.使用 /etc/sudoers.d/ 子文件进行权限管理(推荐)

为了提高管理灵活性,推荐将 sudo 配置拆分成子文件,存放在 /etc/sudoers.d/ 目录下。

操作步骤:

新建子文件并编辑(用 visudo 检查语法):

pdsyw@pdsyw-PC:~/Desktop$ sudo visudo -f /etc/sudoers.d/pdsyw1024
​
pdsyw1024 ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart nginx

作用:在 /etc/sudoers.d/ 目录下,专门为 pdsyw1024 单独建一个规则文件,便于权限管理、维护和审计。

含义:只允许重启 nginx,免密码。

img

pdsyw@pdsyw-PC:~/Desktop$ sudo chmod 440 /etc/sudoers.d/pdsyw1024

作用:保证子文件权限是 -r--r-----(即 0440),符合 sudo 要求,防止文件被随意修改。

img

pdsyw1024@pdsyw-PC:~$ sudo systemctl start nginx
​
对不起,用户 pdsyw1024 无权以 root 的身份在 pdsyw-PC 上执行 /usr/bin/systemctl start nginx。
​
pdsyw1024@pdsyw-PC:~$ sudo systemctl restart nginx
​
pdsyw1024@pdsyw-PC:~$ sudo systemctl stop nginx
​
对不起,用户 pdsyw1024 无权以 root 的身份在 pdsyw-PC 上执行 /usr/bin/systemctl stop nginx。

解释:用户权限依然受到严格限制,只能执行授权的命令。

img

好处:

避免直接修改主 sudoers 文件,降低误操作风险。

按用户、应用、角色单独管理权限,更清晰、更规范。

系统维护、配置审计更方便。

5.sudoers 文件中常用的 Defaults 配置

Defaults 行可以用来调整 sudo 的全局默认行为。

常见示例:

*配置**含义*
Defaults env_reset清空大部分环境变量,防止环境污染
Defaults timestamp_timeout=30设置 sudo 密码缓存时间,单位分钟(30分钟内不用重复输入)
Defaults insults密码输错时显示幽默提示(娱乐用)
Defaults !requiretty允许在无终端(比如脚本里)使用 sudo

例如:

pdsyw@pdsyw-PC:~/Desktop$ sudo visudo
​
Defaults timestamp_timeout=15

表示 sudo 密码输入一次后,15分钟内免输。

img

6.安全注意事项

*注意事项**说明*
始终使用 visudo 编辑防止语法错误导致系统无法使用 sudo
指定命令时使用绝对路径必须写完整路径,例如 /usr/bin/systemctl,不能只写命令名
权限最小化原则只授权必要命令,避免给予过大权限
不滥用通配符/usr/bin/* 等宽泛规则容易引发安全漏洞
保持子文件权限为 0440防止未授权用户篡改 sudo 配置

小结:

/etc/sudoers 是 Linux 系统中 sudo 权限的核心配置文件。

正确使用 sudoers 可以精确控制普通用户的操作权限,提升系统安全性。

推荐通过 /etc/sudoers.d/ 子文件进行分模块管理,规范又安全。

编辑时务必使用 visudo 工具,确保配置无误。

良好的 sudo 权限管理,不仅能有效提升系统运维效率,也是保障系统安全不可或缺的重要措施。

附录:常见命令参考

*操作**命令*
打开 sudoers 主文件sudo visudo
编辑 sudoers 子文件sudo visudo -f /etc/sudoers.d/用户名
查看命令绝对路径which 命令名
设置文件权限为 0440sudo chmod 440 /etc/sudoers.d/文件名

正确配置 /etc/sudoers,是保障 信创终端操作系统 安全性和运维效率的重要步骤。

本文结合 dde-printer 组件操作实例,讲解了从基础到进阶的完整配置方式,包含:

语法规则

用户与组授权

子文件管理

安全最佳实践

掌握这些技巧,能够帮助大家在日常管理中更加规范、灵活、安全地使用 sudo!

如果你觉得这篇文章对你有帮助,欢迎点赞、转发、点个在看~我们下次再见!

相关文章:

  • 引领印尼 Web3 变革:Mandala Chain 如何助力 1 亿用户迈向数字未来?
  • 刀客独家 | 潘胜接管百度移动生态市场部
  • 【Linux】Centos7 在 Docker 上安装 mysql8.0(最新详细教程)
  • 【嘉立创EDA】如何在更新或转换原理图到PCB时,保留已有布局器件
  • QML中的色彩应用
  • .dep 和.rpm有什么区别?
  • 马哥教育Linux云计算运维课程
  • 统信操作系统使用默认yum源安装 Docker 的踩坑
  • 2025通信会丨以创新技术赋能新型电力系统 锐捷知识大脑推动效率提升
  • markdown-it-katex 安装和配置指南
  • Dify框架面试内容整理-Dify如何处理知识库的集成?
  • 【Linux系统】详解Linux权限
  • maven相关概念深入介绍
  • 《2025全球机器学习技术大会:阿里云讲师张玉明深度剖析通义灵码AI程序员》
  • 时间复杂度和空间复杂度 [数据结构 初阶]
  • Go语言--语法基础4--基本数据类型--字符串类型
  • MCU ADC参考电压变化怎么办?
  • 宝马中国再度深化AI布局,宣布正式接入DeepSeek技术
  • 【创新实训个人博客】数据库搭建
  • AOSP Android14 Launcher3——Launcher的状态介绍LauncherState类
  • 外交部回应涉长江和记出售巴拿马运河港口交易:望有关各方审慎行事,充分沟通
  • 中国黄金协会:一季度我国黄金产量同比增1.49%,黄金消费量同比降5.96%
  • 十大券商看后市|A股风险偏好有望边际改善,市场仍处黄金坑
  • “中国游”带火“中国购”,“即买即退”让外国游客购物更丝滑
  • 学校食堂饭菜有蛆?举报人遭值班人员辱骂?四川苍溪县教育局回应
  • 榆林市委常委王华胜已任榆林市政协党组书记