当前位置:  开发笔记 > 运维 > 正文

如何以无人的方式运行程序?

如何解决《如何以无人的方式运行程序?》经验,为你挑选了1个好方法。

我希望用户特权(非root)进程以用户身份启动新进程nobody.我已经尝试过直接调用,setuid但是在-1 EPERM上失败Ubuntu 8.04:

#include 
#include 

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

我应该怎么做呢?



1> squadette..:

需要援助,并从系统管理员有很多的信任.普通用户无法代表其他用户运行他们选择的可执行文件.

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

另一种选择是,她会做chown nobodychmod +s你的二进制可执行文件,你就可以直接执行它.每次可执行文件更改时都必须重复此任务.

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

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有