使应用程序需要root权限

如何强制应用程序始终需要root权限?
例如,如果我运行nautilus,它应该告诉我权限被拒绝并让我以root身份运行它。
有没有办法在Ubuntu中这样做? 强制要求root权限?

我假设您需要将bin文件(程序的)的所有者设置为root,并使其只能由root执行。

因此,作为示例,这是我的nautilus上的当前权限,它位于/usr/bin/nautilus

 alaa@aa-UBUNTU:~$ ls -l /usr/bin | grep nautilus -rwxr-xr-x 1 root root 1542692 Feb 20 23:13 nautilus 

如果您需要阅读有关权限的更多信息,请单击此处 此外,在执行任何操作之前,请在执行任何命令之前记住程序的权限,以便在出现任何问题时可以更改回这些权限。

请注意,有三个“x”,这意味着所有者,组和其他(基本上意味着每个人)都有权执行它。 如果我们希望应用程序需要root权限,我们需要设置它以便root是唯一能够执行它的人,因此我们需要从“group”中删除“x”(这是可执行权限)和“其他”,只留下第一个“x”。 要做到这一点,你会做:

 sudo chmod go-x /usr/bin/nautilus 

这个命令意味着:

  • chmod :更改模式/权限
  • go :将以下内容应用于“group”和“other”
  • -x :删除(因为减号)来自“group”和“other”的可执行权限
  • / usr / bin / nautilus :要应用于此的文件

所以我们从“组”和“其他”中删除“x”。 现在,权限如下所示:

 alaa@aa-UBUNTU:~$ ls -l /usr/bin | grep nautilus -rwxr--r-- 1 root root 1542692 Feb 20 23:13 nautilus 

如果我尝试使用我的用户名运行nautilus ,我会得到:

 alaa@aa-UBUNTU:~$ nautilus bash: /usr/bin/nautilus: Permission denied 

为了能够运行nautilus ,我必须做sudo nautilus