如何在不实际运行reboot命令的情况下检查您是否有重新启动的权限?

如何在不实际运行reboot命令的情况下检查您是否有重新启动的权限?

有没有办法在不实际运行的情况下检查您是否有权重新启动sudo reboot?我不想尝试它,因为如果我有权限,那么它只会重新启动服务器,我不希望这种情况发生。只需检查我是否有重新启动的权限。

我没有 /etc/sudoers 的读取权限,因为我不是 root。除了尝试命令之外还有其他解决方案吗?

答案1

只写wtmp记录:

reboot -w

-w:只写一条wtmp重启记录并退出。

答案2

为了扩展我之前的评论,您可以sudo通过要求 sudo 列出您允许的命令来了解您是否有权运行 /sbin/reboot sudo -l

回顾一些常见的可能性:

  1. 您已被授予“完全”sudo 访问权限:

    用户可以在机器上运行以下命令:

    (全部:全部)全部

在这种情况下,您将能够使用任何参数或不使用任何参数来运行 /sbin/reboot。

  1. 您已被授予直接访问 /sbin/reboot 命令的权限:

    用户可以在机器上运行以下命令:

    (根)/sbin/重新启动

在这种情况下,您将能够使用任何参数或不使用任何参数来运行 /sbin/reboot。

  1. 上述的一个变体:

    用户可以在机器上运行以下命令:

    (根)NOPASSWD:/sbin/reboot

在这种情况下,您将能够运行 /sbin/reboot没有首先系统会提示您输入密码。如果没有 NOPASSWD 标志,系统会在每个单独的 tty 中提示您输入自己的密码,然后该密码会被缓存一段timeout时间,默认为 15 分钟。

  1. 列出了具体命令,其中没有一个是/sbin/reboot:

    用户可以在机器上运行以下命令:

    (根) /bin/ls /bin/grep

在本例中,您已被授予特定的命令列表,其中没有一个是 /sbin/reboot;如果您尝试运行sudo /sbin/reboot,在可能提示您输入密码后,您将收到以下消息:

抱歉,用户不允许您在 machine.fqdn 上以 root 身份执行“/sbin/reboot”。

相关内容