我希望程序可以由特定用户(比如tony)和所有者(root)运行。我以为我可以在程序中使用setuid:
chmod u+s program1.sh
但它返回所有其他用户可以使用所有者的权限运行program1.sh。而不是使用setuid,更改组program1.sh,以便该组包含tony可以很好地只允许tony和所有者可以运行该程序,但tony不能以所有者的权限运行。
所以我不知道如何存档这个要求。希望大家能给我一些建议。
答案 0 :(得分:2)
你chmod u+s program1.sh
就像你做的那样,然后chmod o-x program1.sh
来阻止其他'用户来自运行该文件。现在创建一个新组,并使用chown
为该组授予该文件的所有权。最后,将您希望能够执行该文件的所有用户添加到新创建的组中。不要忘记chmod g+x
允许新组的用户执行该文件。