加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在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编译程序并运行它.但不工作并返回权限错误.

我该怎么办 ?

编辑:
我的apache记录错误:

[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”选项的情况下挂载正在执行程序的分区.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读