我正在尝试从多个用户执行 C 程序,并尝试以程序中的其他用户身份登录以访问文件。但是我得到了错误
setuid: Operation not permitted
我可以做一些不需要每次都使用 sudo 的事情吗?比如,授予对程序的完全访问权限以根据需要使用 setuid 而无需每次都调用 sudo?
最佳答案
根据系统和您在其中的权限,您可以将程序的所有者或组更改为具有 setuid 权限的人,然后设置 setuid 或 setgid 通过 chmod
在可执行文件上设置模式:
chgrp wheel my-awesome-program
chmod g+s my-awesome-program
或
chown superduperuser my-awesome-program
chmod u+s my-awesome-program
请注意,这样做会造成潜在的安全漏洞。如果有人可以覆盖您的程序,他们就可以使用它来获得特权。谨慎行事。
关于我可以在没有 sudo 的情况下运行包含 setuid() 的 C 程序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42180314/