如何仅以 root 或特定用户身份执行应用程序?

如何仅以 root 或特定用户身份执行应用程序?

我想在 Linux 上安装一个应用程序,重要的是它只能由特定用户或 root 执行。例如 openssl,正如您所知,当用户输入以下命令时:

openssl version

他们可以看到 openssl 的版本,并通知我系统中安装了 openssl,所以问题是:

  1. 我怎样才能避免让用户弄清楚我的系统上安装了哪些应用程序以及如何避免他们执行这些应用程序?或者使用诸如grepfindwhich、之类的命令来查找这些应用程序?whereis
  2. 我怎么说呢,特定的应用程序(如openssl)只能由 user01 执行,而其他任何人都不能执行,甚至他们根本没有通知这个应用程序已经安装?!

答案1

您只需使用权限即可轻松完成以下操作:

为所有允许使用该应用程序的用户创建一个组,比方说sslusers

 sudo groupadd sslusers

找到终端程序(使用 which),例如 openssl。相应地更改其所有权:

sudo chown root:sslusers /usr/bin/openssl

允许所有者和组执行。拒绝其他人执行:

sudo chmod 750 /usr/bin/openssl

现在我们来做一个测试:

$ openssl

bash: /usr/bin/openssl: Permission denied

$ openssl -v

bash: /usr/bin/openssl: Permission denied


$ openssl version

bash: /usr/bin/openssl: Permission denied

相关内容