首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Visudo定时关闭

使用Visudo定时关闭
EN

Stack Overflow用户
提问于 2014-10-16 13:37:50
回答 1查看 98关注 0票数 0

我想在我的机器上授予用户user01关闭机器的能力,但只需不少于1小时的通知。

本质上,这可以归结为以下命令:

shutdown -h +<time>

在这种情况下,<time>必须大于60 (分钟)。

使用visudo,我添加了以下sudoers行:

user01 ALL=/sbin/shutdown -h +<time>

我需要一些方法来确保只有在时间参数大于60时,user01才会发出halt shutdown。我尝试过regex,但没有用。我这么说可能是错的,但是sudoers文件可能不支持regex?

任何有关评估表达式以完成此任务的帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2014-10-18 19:57:06

我甚至不想让知道sudoers是否支持正则表达式(快速grep建议它不支持):

  1. 正则表达式很棘手,一个简单的错误可能会让用户运行Elvis-knows-what...
  2. 6-9|1-9*0-9 -如果符号允许使用快捷方式来计算出现次数(或者只使用'+'),你可以缩短它,但你真的想要它吗?

也就是说,imho最简单(也是最明智的)解决方案是编写一个脚本,如下所示

代码语言:javascript
复制
#! /bin/sh
test $# -eq 1    || exit
test 60 -lt "$1" || exit # maybe print a message
exec /sbin/shutdown -h "+$1"

并允许user01对该脚本执行sudo。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26396952

复制
相关文章

相似问题

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