我希望程序可以由特定用户(比如 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/