sudo-rs sudoers 配置实践指南:从写规则到安全护栏
sudo-rs sudoers 配置实践指南从写规则到安全护栏【免费下载链接】sudo-rsA memory safe implementation of sudo and su.项目地址: https://gitcode.com/GitHub_Trending/su/sudo-rs你给运维同事开 sudo 权限时是只开一条命令还是整台机器随便跑这份清单就藏在/etc/sudoers里。sudo-rs 用 Rust 重写了 sudo 的策略引擎这份配置文件决定了谁能以谁的身份跑什么命令读不懂它授权就是盲开。本文按先写规则、再谈认证、最后看护栏的顺序把它一次讲透。sudoers 到底管什么文件位置与四元模型先说结论sudo-rs 的所有授权判断都来自一个文件——/etc/sudoers官方说明见 sudoers.5 手册。它的语法与原版 sudo 兼容但只实现了其中安全的子集。怎么理解这个文件把它想象成一张门禁清单每条记录回答四个问题谁User哪个用户或用户组在哪Host哪台主机上生效以谁身份Runas执行时变成哪个用户或组做什么Cmnd允许运行哪些命令写规则时脑子里始终装着这四个槽位后面所有语法都是在往槽位里填东西。sudoers 语法速查从头写出一条完整规则别名体系先给槽位内容起短名四种别名对应四个槽位User_Alias、Host_Alias、Runas_Alias、Cmnd_Alias。格式统一为Cmnd_Alias LOG_CMD /usr/bin/journalctl, /var/log/命名规则很死板NAME只能由大写字母、数字、下划线组成且必须以大写字母开头所以web_admins是非法的要写成WEB_ADMINS。同类型的多个别名可以用冒号写在同一行。用户规范与 Runas_Spec 的四种情况主规则格式是用户 主机 (身份) 命令。括号里的 Runas_Spec 有四种含义容易踩坑写法效果(alice)以列表中的用户身份运行(%dev)仍是调用用户但组可切到 dev()只能以调用用户自己身份运行不写括号默认只能以 root 身份运行再叠加 Chdir_Spec 限定工作目录alice server CWD/var/www /usr/bin/systemctl目录必须是绝对路径或以~开头写CWD*表示放权给用户由sudo -D自己指定不写则默认继承调用用户当时的当前目录。Defaults给规则加全局调参Defaults 可以精确圈定作用域前缀即范围主机列表、:用户列表、!命令列表、运行身份列表不加前缀则是全局。列表类参数支持追加和-删除Defaults :web_team env_keep EDITOR, log_allowed_user_timeout 15身份认证是如何执行的默认要密码15 分钟免输默认规则很简单用 sudo 前先证明自己是谁。有三类例外直接放行调用者本身就是 root目标用户和调用者是同一个人策略里对该用户或该命令显式关了认证如NOPASSWD标签。和su的关键区别在于验的是谁的密码su 问的是目标用户通常是 root的密码而 sudo-rs 验的是调用者本人的凭证——毕竟 sudo 的语义是我授权你替我干活。想改回旧习惯可以打开rootpw标志。认证通过后不会每次都问密码靠的是 per-user 的 timestamp 凭证缓存文件。每条记录包含四个字段用于认证的用户 ID、终端会话 ID、会话主进程或父进程的启动时间、时间戳。默认15 分钟内timestamp_timeout可调免密复用。注意记录是按终端隔离的两个终端窗口各自认证、各自计时不会互相串号。执行环境如何被隔离env_reset 关不掉的白名单结论先行env_reset在 sudo-rs 里强制启用无法关闭。命令永远在全新、最小化的环境里启动用户带来的环境变量默认全部不继承。变量处理分四步HOME、SHELL、LOGNAME、USER按目标用户重新初始化SUDO_*系列则记录调用者信息PATH、TERM若未被env_keep/env_check保留会填默认值兜底LOGNAME和USER被当作一个整体处理保留或删除其一另一个同步跟随只存在一个时另一个自动补齐同值避免出现一半 root 一半你的分裂环境值以()开头的变量直接删除——防止被 bash 误解析成 shell 函数。PAM 模块贡献的变量会合并进环境但优先级低于用户环境里被保留的变量。日志与资源限制如何兜底审计侧sudo-rs 默认把成功、失败、错误三类事件全部写入 syslogjournalctl或/var/log里随时能查谁在什么时候试了什么、结果如何一目了然。资源限制则按平台各走各的路Linux通常由pam_limits.so模块按目标用户设置BSD 系由/etc/login.conf定义系统没有任何 per-user 机制时命令直接沿用调用用户的限制不额外收紧。安全配置落地清单改 sudoers 前对照一遍把日常操作压成一张可勾选清单逐项过用visudo编辑而非直接vi /etc/sudoers改错会当场被拦下授权遵循最小权限能开Cmnd_Alias就不开ALL重复出现的用户组、命令组用别名复用规则行保持一行一义定期翻 syslog 审计 sudo 尝试记录尤其是连续失败任何变更先落到测试环境跑一遍sudo -l验证匹配结果敏感命令在规则里写死参数如表示禁止带参防参数注入写在最后/etc/sudoers这套语法用了几十年没人会因为它老而弃用真正变化的是执行它的引擎。sudo-rs 的策略解析源码 用 Rust 的借用检查替代了 C 时代靠纪律维护的内存安全同样的门禁清单跑在内存安全的实现上攻击面小了一大截。理解了这份指南里的规则、认证、隔离、审计四层结构你既会用原版 sudo也接得住 sudo-rs 的默认行为差异。【免费下载链接】sudo-rsA memory safe implementation of sudo and su.项目地址: https://gitcode.com/GitHub_Trending/su/sudo-rs创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Cassandra表结构变更检查:CQL解析、差异报告与风险提示

Cassandra表结构变更检查:CQL解析、差异报告与风险提示

项目编号:20260728-012。本文代码、测试、文档与示例数据均为独立编写,不包含榜单项目源码或受限素材。为什么需要这个工具 对比两份CREATE TABLE CQL,识别新增、删除、类型变化和主键变化,给出迁移风险等级及检查清单。实际开发中…

2026/10/17 6:36:58 阅读更多 →
自建Portal认证服务器:OpenPortalServer部署与排坑指南

自建Portal认证服务器:OpenPortalServer部署与排坑指南

简介:这份资源是基于Java开发的开源PORTAL协议服务端程序,适合网络管理员、运维工程师以及需要部署认证上网环境的开发者使用。程序兼容华为、H3C、锐捷、爱快等主流网络设备,支持标准Portal协议、V1/V2及CMCC协议,并涵盖PAP、CHA…

2026/10/17 6:36:58 阅读更多 →
Python+DeepSeek-R1农作物产量预测全链路实战:从爬虫到可视化推荐

Python+DeepSeek-R1农作物产量预测全链路实战:从爬虫到可视化推荐

“Python DeepSeek-R1大模型做农作物产量预测,还带爬虫、可视化、推荐系统”——这段时间被问得最多的毕设题目就是它。先直接说结论:这个题目看起来模块多、内容杂,其实底层逻辑非常清晰,一句话概括就是“用爬虫拿到数据&#x…

2026/10/17 6:35:58 阅读更多 →

最新新闻

混合检索实战:融合关键词与向量检索,破解RAG精度难题

混合检索实战:融合关键词与向量检索,破解RAG精度难题

做RAG应用的人,大概率都踩过同一个坑:向量检索跑得飞快,召回结果看着也都是“相关话题”,可用户问具体型号、单据编号、法条原文的时候,它完全不在状态;换成纯关键词搜,精确词是能中了&#xff…

2026/10/17 7:16:05 阅读更多 →
React WorkLoop全景解析:从ensureRootIsScheduled到commitRoot

React WorkLoop全景解析:从ensureRootIsScheduled到commitRoot

写 React 源码解析最怕什么?就是只记住几个函数名,比如ensureRootIsScheduled、commitRoot,但不知道它们之间怎么咬合,不知道一条更新从触发到页面真正变掉,中间到底过了多少关。这篇是这个系列的第 3 篇,我…

2026/10/17 7:16:05 阅读更多 →
BGP综合实验拆解:从邻居建立到路由反射与选路控制

BGP综合实验拆解:从邻居建立到路由反射与选路控制

很难找到一个比 BGP 更"基础又劝退"的协议。很多朋友跟我一样,第一次配 BGP 时照着文档敲完 neighbor、看着状态机跳到 Established,就长舒一口气,觉得实验做完了。直到真正面对题目只写着"bgp综合实验"四个字、要求在模…

2026/10/17 7:16:05 阅读更多 →
Embedding选型实战:提升RAG检索质量的完整指南

Embedding选型实战:提升RAG检索质量的完整指南

做RAG(检索增强生成)系统的朋友应该都有过这种经历:知识库搭完了,文档切好了,向量库也建起来了,结果一问业务问题,答案总是"差点意思"。要么召回的片段跟问题八竿子打不着&#xff0c…

2026/10/17 7:16:05 阅读更多 →
混合检索实战:BM25与向量召回融合的搜索优化方案

混合检索实战:BM25与向量召回融合的搜索优化方案

1. 混合检索到底解决了什么问题:两套检索逻辑各自的天花板这两年做了好几个搜索相关的项目,从站内商品搜索到文档知识库,一个最直观的感受是:没有一种检索方案能通吃所有查询。传统的关键词检索在专有名词、型号、编号这类精确词上…

2026/10/17 7:16:05 阅读更多 →
拆解供应链体系:核心指标、牛鞭效应与信息流优化实践

拆解供应链体系:核心指标、牛鞭效应与信息流优化实践

做供应链这个领域十几年,每次跟人介绍自己的工作,十次有八次会被理解成“管仓库的”或者“搞运输的”。这也难怪,供应链这个词听起来确实抽象,但它本质上就是一家企业、甚至一个行业能不能赚钱、能不能活下去的底层逻辑。这篇是这…

2026/10/17 7:15:05 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/17 1:44:59 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 21:54:38 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →