在c中重新加载linux服务
发布时间:2020-12-16 06:58:18 所属栏目:百科 来源:网络整理
导读:我想在c和cgi代码中重启 linux服务,如apache,bind,proftpd等. 我使用system()来做到这一点,例如: system ("service httpd reload"); 我也设置suid编译程序并运行它.但不工作并返回权限错误. 我该怎么办 ? 编辑: 我的apache记录错误: [Wed Dec 21 21:07:1
我想在c和cgi代码中重启
linux服务,如apache,bind,proftpd等.
我使用system()来做到这一点,例如: system ("service httpd reload"); 我也设置suid编译程序并运行它.但不工作并返回权限错误. 我该怎么办 ? 编辑: [Wed Dec 21 21:07:13 2011] [error] [client *] cannot remove `/var/run/httpd.pid' [Wed Dec 21 21:07:13 2011] [error] [client *] : Permission denied [Wed Dec 21 21:07:13 2011] [error] [client *] [Wed Dec 21 21:07:13 2011] [error] [client *] touch: [Wed Dec 21 21:07:13 2011] [error] [client *] cannot touch `/var/lock/subsys/httpd' [Wed Dec 21 21:07:13 2011] [error] [client *] : Permission denied 和命名,proftpd等相同的日志 解决方法
这里有几件事需要检查:
>确保已编译的程序具有suid root(即程序的所有者是root).>确保在没有“noexec”选项的情况下挂载正在执行程序的分区. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |