使应用程序需要 root 权限

使应用程序需要 root 权限

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

答案1

我认为您需要将 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 才能执行它,因此我们需要从“组”和“其他”中删除“x”(即可执行权限),只保留第一个“x”。为此,您可以执行以下操作:

sudo chmod go-x /usr/bin/nautilus

该命令的意思是:

  • 修改模式:更改模式/权限
  • :将以下内容应用于“组”和“其他”
  • -X:删除(因为有减号)“组”和“其他”的可执行权限
  • /usr/bin/nautilus:应用此操作的文件

因此,我们将“group”和“other”中的“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.

相关内容