我想让我的机器上的用户user01
能够关闭机器,但只能通知不少于1小时。
基本上,这归结为以下命令:
shutdown -h +<time>
在这种情况下,<time>
必须大于60(分钟)。
使用visudo,我添加了以下sudoers行:
user01 ALL=/sbin/shutdown -h +<time>
我需要一些方法来确保user01
只能在时间参数大于60时才发出停止关闭。我已经尝试了正则表达式,但无济于事。我说这个可能是错的,但似乎sudoers文件可能不支持正则表达式?
有关评估表达式以实现此任务的任何帮助将不胜感激。
答案 0 :(得分:0)
我甚至想要知道sudoers是否有正则表达式支持(快速grep表明它不会):
话虽这么说,imho最简单(也是最明智的)解决方案是编写一个脚本
#! /bin/sh
test $# -eq 1 || exit
test 60 -lt "$1" || exit # maybe print a message
exec /sbin/shutdown -h "+$1"
并允许user01 sudo该脚本。