有没有办法在不实际运行的情况下检查您是否有权重新启动sudo reboot
?我不想尝试它,因为如果我有权限,那么它只会重新启动服务器,我不希望这种情况发生。只需检查我是否有重新启动的权限。
我没有 /etc/sudoers 的读取权限,因为我不是 root。除了尝试命令之外还有其他解决方案吗?
答案1
只写wtmp记录:
reboot -w
-w:只写一条wtmp重启记录并退出。
答案2
为了扩展我之前的评论,您可以sudo
通过要求 sudo 列出您允许的命令来了解您是否有权运行 /sbin/reboot sudo -l
。
回顾一些常见的可能性:
您已被授予“完全”sudo 访问权限:
用户可以在机器上运行以下命令:
(全部:全部)全部
在这种情况下,您将能够使用任何参数或不使用任何参数来运行 /sbin/reboot。
您已被授予直接访问 /sbin/reboot 命令的权限:
用户可以在机器上运行以下命令:
(根)/sbin/重新启动
在这种情况下,您将能够使用任何参数或不使用任何参数来运行 /sbin/reboot。
上述的一个变体:
用户可以在机器上运行以下命令:
(根)NOPASSWD:/sbin/reboot
在这种情况下,您将能够运行 /sbin/reboot没有首先系统会提示您输入密码。如果没有 NOPASSWD 标志,系统会在每个单独的 tty 中提示您输入自己的密码,然后该密码会被缓存一段timeout
时间,默认为 15 分钟。
列出了具体命令,其中没有一个是/sbin/reboot:
用户可以在机器上运行以下命令:
(根) /bin/ls /bin/grep
在本例中,您已被授予特定的命令列表,其中没有一个是 /sbin/reboot;如果您尝试运行sudo /sbin/reboot
,在可能提示您输入密码后,您将收到以下消息:
抱歉,用户不允许您在 machine.fqdn 上以 root 身份执行“/sbin/reboot”。