gpt4 book ai didi

c - 如何以无人身份运行程序?

转载 作者:IT王子 更新时间:2023-10-29 00:10:37 26 4
gpt4 key购买 nike

我想要一个用户特权(非 root)进程以用户 nobody 身份启动新进程。我已经尝试直接调用 setuid,但在 Ubuntu 8.04 上以 -1 EPERM 失败:

#include <sys/types.h>
#include <unistd.h>

int main() {
setuid(65534);
while (1);
return 0;
}

我应该怎么做呢?

最佳答案

需要系统管理员的帮助和充分信任。普通用户无法代表其他用户运行他们选择的可执行文件。

她可能会通过适当的设置将您的应用程序添加到 /etc/sudoers,您将能够像使用 sudo -u nobody 一样运行它。这将适用于脚本和二进制可执行文件。

另一种选择是,她将对您的二进制可执行文件执行 chown nobodychmod +s,您将能够直接执行它。每次可执行文件更改时都必须重复此任务。

这也适用于脚本,如果您将创建一个简单的执行 exec("/home/you/bin/your-application") 的小型辅助可执行文件。该可执行文件可以设为 suid-nobody(见上文),您可以自由修改 your-application

关于c - 如何以无人身份运行程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66870/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com