使我的自定义程序成为根程序

使我的自定义程序成为根程序

我有一个用 C 编写的自定义程序,它遍历目录并将内容写入日志文件。但是,它无法访问 /var/log/ /etc/ 和其他根文件夹。如何更改?它目前由非 root 用户 chown myname:myname myprogram 拥有。有没有关于如何使其类似于 root 的信息?

答案1

如果希望某个程序以 root 身份运行,请以 root 身份启动它。以 root 身份登录或使用susudo

setuid除非设置了标志,否则所有者无关紧要。但请注意:setuid可以非常很危险,因为它总是以 root 身份运行(或拥有该文件的任何用户)。如果您的程序包含漏洞,攻击者可以利用它来完全控制系统。此外,如果文件未包含在受保护的目录中,则具有目录写入权限的用户可以随意更改所有者。

使用chmod 4xxx <file>(其中xxx是“常规”模式)设置标志setuid。现代实现还支持chmod u+s <file>

相关内容