以 root 身份运行应用程序(无需 sudo)

以 root 身份运行应用程序(无需 sudo)

我有一个应用程序 (VirtualBox),需要以 root 用户身份运行。我可以顺利运行 sudo VirtualBox,但我想在桌面上有一个快捷方式,只需单击即可以 root 用户身份启动 VirtualBox。我尝试了 chown root:root,但没有任何效果。

谢谢!

顺便说一句:我正在运行 Debian Squeeze。

答案1

您仍然可以使用 sudo 来运行程序,而无需输入密码。您可以通过运行命令visudo并在 VirtualBox 中添加一行来执行此操作:

sudo visudo

将以下行添加到文件

yourusername ALL = NOPASSWD: /path/to/virtualbox

然后创建一个桌面快捷方式sudo /path/to/virtualbox,它应该以 root 身份运行,无需密码。

答案2

如果您确保只有您希望它运行的用户才能访问该可执行文件,那么您可以在权限中设置 SetUser 位,例如:

chown root:root myexecfile
chmod u+s myexecfile

当您这样做时,文件将使用 set-uid 位(即其所有者的权限)而不是运行它的用户的权限运行。您可以使用 chmod g+s myexecfile 达到相同的目的,只设置组而不是用户位。

但是,请非常小心:如果您将此文件放在公开位置,这本身就是一种不安全的方式。例如,如果您将其放在桌面上,请确保您的桌面文件夹权限为 700(除您之外,任何人都无法访问)。

答案3

你应该使用gksudo为此目的。它将允许您使用图形身份验证提示以 root 身份运行图形程序。使二进制文件 setuid-root 或删除 sudo 的密码要求将使您面临特权升级攻击。

相关内容