linux - 如何让程序可以由具有所有者权限的特定用户在linux上运行

标签 linux unix operating-system root privileges

我希望程序可以由特定用户(比如 tony)和所有者(root)运行。我以为我可以在程序上使用 setuid:

chmod u+s program1.sh

但它返回所有其他用户可以以所有者权限运行 program1.sh。不使用 setuid,而是更改组 program1.sh,以便该组包含 tony 可以只允许 tony 并且所有者可以运行该程序,但 tony 不能以所有者的权限运行。

所以我不知道如何归档这个需求。希望大佬们多多指教。

最佳答案

chmod u+s program1.sh 就像你做的那样,然后 chmod o-x program1.sh 以防止“其他”用户运行该文件。现在创建一个新组,并使用 chown 为该组授予该文件的所有权。最后将您希望能够执行该文件的任何用户添加到新创建的组中。不要忘记 chmod g+x 以允许新组的用户执行该文件。

关于linux - 如何让程序可以由具有所有者权限的特定用户在linux上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23714654/

相关文章:

linux - 在 Debian 11 (Bullseye) 上,docker 容器内的/proc/self/cgroup 不显示 docker 信息

用于解析/更新 UNIX 配置文件的 API

linux - 如何计算 meminfo 中的所有内存?

linux - 无法将 2 个 Linux 变量连接成 1 个

python - 如何将 Python 虚拟环境转移给其他用户?

bash - 如何捕获更改文件夹中文件的事件?

java - 如何在 WSO2 ESB 4.8.1 中获取进程 ID

java - 即使在 2 个不同的 JVM 中,我们如何确保任何应用程序只有一个实例在运行

linux - 如何从后台进程重定向日志

linux - Bash 脚本问题检查命令输出