首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在linux中执行关闭命令之前,为用户设置上限和下限

在linux中执行关闭命令之前,为用户设置上限和下限
EN

Stack Overflow用户
提问于 2022-09-17 09:27:05
回答 1查看 36关注 0票数 0

假设我希望一个名为"Alex“的非根用户只允许关闭命令,但是有了类似的限制,他只能在至少120分钟之后才能关闭,并且不能延迟超过1000分钟。基本上,设置执行关机命令的上限和下限。另外,我使用的是Rocky Linux 9。

EN

回答 1

Stack Overflow用户

发布于 2022-09-17 09:49:39

您可以:

  • 下载shutdown C源代码,修改它以检查用户是否是Alex,如果是,请检查所需的时间范围。然后将此源代码编译到一个名为my_shutdown的程序中,将其安装到/usr/local/bin 中。
    • 并在sudoers中为alex添加NOPASSWD
    • 或者仅仅针对其他用户退出您的程序,并在您的可执行文件上设置SUID位。
    • 或者您可以从头开始编写程序,而不是使用现有的快门.c实现。

  • 也可以将参数组合的特定列表(如NOPASSWD )添加到sudoers,如alex ALL=NOPASSWD: shutdown 120m... 121m ... 122m等,用于您想要支持的每个参数组合。
  • 或者您可以编写一个包装器来解析该参数以关闭,并检查它是否在范围内,如果在范围内,它将把调用转发给shutdown可执行文件。并将该包装器添加到sudoers中,或在其上添加SUID。强烈考虑不要使用脚本语言--例如,使用带有任何import的python,通过操作PYTHONPATH环境变量,用户将能够以根用户身份执行任何代码。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73753683

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档