我正在尝试从多个用户执行C程序并尝试以程序中的其他用户身份登录以访问文件。但是我收到了错误
setuid:不允许操作
我可以做一些我不需要每次都使用sudo的东西吗?比如,给予程序完全访问权限以便随时使用setuid而不必每次都调用sudo?
答案 0 :(得分:4)
根据系统及其中的权限,您可以将程序的所有者或组更改为具有setuid权限的程序,然后设置 setuid 或chmod执行可执行文件的> setgid 模式:
chgrp wheel my-awesome-program
chmod g+s my-awesome-program
或
chown superduperuser my-awesome-program
chmod u+s my-awesome-program
请注意,通过这样做,您可以创建一个潜在的安全漏洞。如果有人可以覆盖您的程序,他们可以使用它来获取权限。谨慎行事。
答案 1 :(得分:2)
您只需使用chmod
在程序的可执行文件上使用setuid
:
sudo chmod u+s executable