以sudo身份运行应用程序

我有一个应用程序(VirtualBox),我需要以root用户身份运行。 我可以运行sudo VirtualBox就好了,但我想在我的桌面上有一个快捷方式,我只需点击以root用户身份启动VirtualBox。 我尝试了chown root:root,但是没有做任何事情。

谢谢!

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

您仍然可以使用sudo来运行程序,而不必input密码。 您可以通过运行visudo命令并为VirtualBox添加一行来执行此操作:

 sudo visudo 

将以下行添加到文件

 yourusername ALL = NOPASSWD: /path/to/virtualbox 

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

如果确保只有您希望运行的用户可以访问可执行文件,那么您可以像下面那样设置SetUser位的权限:

 chown root:root myexecfile chmod u+s myexecfile 

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

但是,要非常小心:如果你把这个文件打开,这是一个固有的不安全的方式。 例如,如果您将其放在桌面上,请确保您的桌面文件夹权限为700(除了您之外,不能访问任何人)。

你应该使用gksudo来达到这个目的。 它将允许您使用graphics身份validation提示以root用户身份运行graphics程序。 使二进制setuid根或删除sudo的密码要求将打开你的特权升级攻击。