讲师中心 微信公众号
AI工具推荐 视频效率加速

sudo中sudo怎么配合PAM模块限制特定时间段内才允许执行sudo提权命令

云涛君_9836

云涛君_9836

发布时间:2026-09-08 08:47:26

|

949人浏览过

|

来源于php中文网

原创

sudo 可通过 PAM 的 pam_time.so 模块实现时间段权限控制:在 /etc/pam.d/sudo 中添加 auth [default=die] pam_time.so,并在 /etc/security/time.conf 中配置如 sudo;Al0h;@admin;Wk0900-1759;and 的规则,结合用户组与 sudoers 实现细粒度时段管控。

sudo中sudo怎么配合pam模块限制特定时间段内才允许执行sudo提权命令

sudo 本身不直接支持按时间段控制提权,但可以通过 PAM 的 pam_time.so 模块实现“仅在特定时间段内允许执行 sudo 命令”的效果。核心思路是:让 sudo 的 PAM 配置链调用 pam_time.so,并依据时间规则(如工作日 9:00–18:00)动态放行或拒绝认证请求。

确认并启用 sudo 的 PAM 时间控制

sudo 的行为由 /etc/pam.d/sudo 文件定义。该文件默认可能为空或仅包含 minimal 配置,需手动补充 pam_time 规则:

  • 编辑 /etc/pam.d/sudo,在顶部添加一行(确保在其他 auth 规则之前):
    auth [default=die] pam_time.so
  • 若该文件不存在,可复制 /etc/pam.d/su 或创建新文件;注意权限应为 644,且不可被普通用户修改
  • 确保系统已安装 pam_time 模块(常见于大多数发行版,如 RHEL/CentOS/Debian 默认包含)

配置 /etc/security/time.conf 实现时段策略

所有时间规则统一写入 /etc/security/time.conf。每行格式为:
service;ttys;users;times;restrictions

  • 关键字段示例(允许 admin 组用户仅在工作日 9:00–17:59 使用 sudo):
    sudo;Al0h;@admin;Wk0900-1759;and
  • 说明:
    • sudo:匹配 PAM service 名
    • Al0h:表示所有终端(tty)和图形会话(包括 ssh、gnome-terminal 等)
    • @admin:指 admin 组所有成员(组名前加 @)
    • Wk0900-1759:周一至周五(Wk)的 09:00 至 17:59
    • and:表示该规则与其他规则逻辑“与”关系(常用,避免意外放行)
  • 支持的时间标识:
    • Mo,Tu,We,Th,Fr,Sa,Su 或 Wk(工作日)、Wd(非工作日)
    • Al(全天)、Al0h(所有会话类型)
    • 时间格式为 24 小时制,如 0800-1200、1330-1700

配合用户组与 sudoers 实现细粒度协同

PAM 时间控制只管“能否通过认证”,不替代 sudo 权限定义。需同步做好权限隔离:

  • 将需受时段限制的用户加入特定组(如 admin),避免影响其他 sudo 用户
  • 在 /etc/sudoers 中明确授权该组,例如:
    %admin ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart nginx
  • 注意:pam_time 在 auth 阶段拦截,一旦拒绝,sudo 连密码提示都不会出现;若通过时间校验,才进入 sudoers 权限检查阶段
  • 测试建议用 sudo -l 或 sudo whoami,并在跨时段边界(如 17:59 和 18:00)验证是否即时生效

验证与排错要点

时间策略生效依赖系统时钟准确及 PAM 加载顺序:

  • 确保系统使用 NTP 同步时间(如 timedatectl status 显示 “System clock synchronized: yes”)
  • 查看 /var/log/auth.log(Debian/Ubuntu)或 /var/log/secure(RHEL/CentOS)中 pam_time 相关日志,关键词如 “pam_time: access denied”
  • 临时调试可加 debug 参数到 pam_time 行:
    auth [default=die] pam_time.so debug,日志会输出匹配过程
  • 若规则未生效,检查 time.conf 中是否有语法错误(如分号缺失、空格误用)、用户是否确属目标组、以及是否遗漏 @ 符号(@admin ≠ admin)

热门AI工具

更多
VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

4430

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

3713

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

3013

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

7450

2023.07.05

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

7082

2023.07.06

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

4033

2023.07.20

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

3525

2023.07.20

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

3779

2023.07.25

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

20

2026.11.05

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Android  开发手册
Android 开发手册

共152课时 | 185万人学习

Codex官方文档
Codex官方文档

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn