我想在 Linux 上安装一个应用程序,重要的是它只能由特定用户或 root 执行。例如 openssl,正如您所知,当用户输入以下命令时:
openssl version
他们可以看到 openssl 的版本,并通知我系统中安装了 openssl,所以问题是:
- 我怎样才能避免让用户弄清楚我的系统上安装了哪些应用程序以及如何避免他们执行这些应用程序?或者使用诸如
grep
、find
、which
、之类的命令来查找这些应用程序?whereis
- 我怎么说呢,特定的应用程序(如
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