如何在没有“sudo”的情况下以 root 身份运行程序?

UrE*_*rEl 12 security root sudo setuid macos

我在 OS X 上有一个只能以 root 身份运行的二进制程序。

我厌倦了sudo每次调用它并输入密码时都预先准备好,并且希望它在我定期调用它时自动以 root 身份运行,而不需要输入密码。

该程序的所有者是root,其组是wheel。

我试图chmod ug+s在执行时将 userid 和 groupid 设置为 root/wheel,但是当我在没有 sudo 的情况下运行程序时,它仍然抱怨它只能使用 sudo 或以 root 身份运行。

Wal*_*ter 21

您的问题的一半解决方案:

在 sudoers 文件中,添加以下内容:

username ALL= NOPASSWD: /path/to/command
Run Code Online (Sandbox Code Playgroud)

然后从命令行,您可以键入:

sudo command
Run Code Online (Sandbox Code Playgroud)

它会在不询问您的密码的情况下运行该命令。此命令将以 root 身份运行。

请注意,您需要用您的实际用户名替换用户名。


Kei*_*thB 2

您确定您尝试执行的程序实际上是二进制文件,而不是 shell 脚本吗?大多数 shell 都会忽略 suid 脚本,因为它们真的很难安全执行。一个简单的检查方法是使用file程序上的命令。