当前位置:  技术问答>linux和unix

请问守护进程代码里面加入system()命令行,可以执行吗?

    来源: 互联网  发布时间:2016-09-22

    本文导语:     (void)system("sudo iptables -F");    (void)system("sudo iptables -t nat -F");  //将iptables原有的规则清空    (void)system("echo 1 |sudo tee /proc/sys/net/ipv4/ip_forward");     (void)system("sudo iptables -t nat -A POSTROUTING -o wlan0 -j M...

   (void)system("sudo iptables -F");
   (void)system("sudo iptables -t nat -F");  //将iptables原有的规则清空
   (void)system("echo 1 |sudo tee /proc/sys/net/ipv4/ip_forward"); 
   (void)system("sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE");//以上两句实现对通过wlan0的包进行路由
   (void)system("sudo iptables -t filter -A FORWARD -i eth0 -j DROP");//阻止eth0的所有包接入外网

我在守护进程的代码里面加了几句命令行,但是发现根本没起作用,但是在终端模式下是可以实现功能的,想问以下守护进程可以执行system命令行吗?或者又什么不一样的地方。

|
我刚刚测试了一下  重启xinetd的时候  micro_httpd没有执行
关于xinetd是怎样守护程序的  还有待研究
只有从页面访问的时候 micro_httpd才执行了  这时候才调用了system()
你作为访问者  对于系统来说  你的身份应该是nobody    肯定不是root
你想想  任何一个访问你网站的人  在网站上做的操作和请求都是root权限级别的
那你的系统还有什么安全性可言
所以
system("echo 1 > /tmp/temp.txt");可以成功

system("/sbin/iptables xxxx"); 就没有权限了

|
这个我没弄过  也只能猜测了
这个东西是怎么样一个执行流程我也不知道。

你就在开始先只加一句来测试一下
system("echo 1 >/tmp/tmp.txt");

然后重启程序  看看/tmp下有没有tmp.txt文件

|
我判断它执行不执行的依据是跟我eth0连接的客户端还能不能上网,如果不能上网的话,就是命令行生效了,而刚才一直都是可以上网。
修改了echo的路径之后,客户端在没有认证之前还是可以上网的
---------------------------------------
你不要这样来判断  我看你只在操作forward链 根本没操作INPUT和OUTPUT 但我没有读你的防火墙设置到底是不是有这样的功能

在执行下你的程序  然后用/sbin/iptables -L 来确认!

    
 
 

您可能感兴趣的文章:

  • 请问大家shell属于守护进程吗?
  • 请问:为什么我在守护进程里面用pthread_create来启动线程,经常会卡在那里阿?
  • 请问:我想让配置文件变更后,发一个信号,从而让守护进程重新加载配置,程序思路大约是怎样的啊?
  • 请问一个小程序(守护进程)
  • 如果一个server进程要fork许多子进程,但不等待子进程终止,也不希望子进程结束后处于僵进程状态直到父进程终止。请问可采用什么方法实现
  • 一个进程首先监听一个端口,等到有连接了就新开一个进程,让新进程来处理后面的通讯。请问母进程中已经打开了端口,子进程怎么来使用同一
  • 请问:子进程的数据可以传给父进程吗????
  • 父进程等待子进程n秒,如果子进程正常退出,父进程立即继续向下执行,如果子出现进程故障一直不退出,父进程等待n秒后继续向下执行,请问
  • 请问:如果知道一个进程的pid 怎么得到他父进程的pid
  • 请问: 在要想删掉进程名为"xxx"的进程,在shell脚本中该写什么啊?
  • 请问已知进程的PID,通过什么函数可以得到进程的名字?
  • 请问fork子进程后,怎么修改子进程的所属用户。
  • 请问linux进程的哪些信息保存在内核里?哪些信息又保存在进程空间里?谢谢
  • 请问知道进程标识,能够结束该进程并回收所有资源么?
  • 请问父进程如何获得子进程的子进程的pid号?
  • help help busy!!! 请问如何让一个进程进入dead状态或者编程实现让一个进程进入dead状态
  • a 请问怎样查看服务器上的telnet进程,及远程telnet进程的ip
  • 请问子进程应该怎么调试。
  • 请问有关进程间通信的问题
  • 请问:linux下的子进程与线程的区别
  • 请问在 linux 下如何使用 execl() 调用另一个多进程的程序?
  • 请问前辈,线程和进程有什么区别啊?
  • 请问如何将某个进程设为系统服务?
  • 请问统计当前进程数应该使用什麽命令?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问各位大虾,ping命令的端口是多少?把某个端口封掉,用什么命令?
  • 请问如何清掉linux的操作命令记录?就是按上下键不能查看以前执行的命令,谢谢
  • 请问LINUX7.2下,哪条命令是查看系统上曾经执行过的执行命令?(包括启动以前的)
  • 请问用哪个命令可以在命令行里显示系统当前的时间?
  • 请问能否在程序中嵌入命令行(linux)中的命令,如果可以应该怎样做,谢谢!!!
  • 在Unix下用rm命令误删除了文件,然后再无其它操作,请问,可以恢复吗?有直接的命令吗?
  • 请问:早redhat 7.3的字符模式下:改(设)IP 命令是:ifconfig eth0 192.168.0.xx ,那么改(设)掩码命令是什么呢? 还有改(设)网关地址命令是什
  • 请问在Redhat 9里,我从登录就是图形介面,请问如何在图形介面内进入命令行方式呢,谢谢
  • 请问:请问哪里有关于linux基本操作命令讲解的资料下载,最好是幻灯片格式的.
  • 请问玩过SOLARIS的高手门,在不正常关机后,就不能启动到windows公用桌面了,只能在命令提示模式下了,请问怎么解决这个问题啊?急~!~!
  • 自己实现linux下的ftp客户端,先用port命令后用append命令,报告错误425请问是哪里错了?,应该把模式置为pasv嘛??
  • 请问,我试图用#admintool&图形工具命令来安装sun workshop5.0,为什么进入的却是用户管理界面?请问具体该如何在solaris下安装应用软件
  • 请问此命令是何意!
  • 请问在vi中命令用法
  • 请问如何才能恢复命令行界面?
  • 请问,在Cramfs文件系统中怎样实现历史命令记录
  • 请问一下dd命令的实现机制,哪里能看到
  • 菜问一则:请问用什么命令可得到系统路径
  • 请问Linux显示当前版本的命令是什么?谢谢
  • 请问用rm 命令删掉的目录(含文件)有什么办法恢复?
  • 请问:我知道路由器的telnet密码,但忘记了enable 密码,请问如何是好?
  • 请问那里有SYBASE的jbdb 2.0下载;jspsmartupload可以直接将文件上传到数据库,请问如何使用
  • 请问最新的reahat9.0是基于什么核心的?2.4?2.6?请问那里能下载?
  • 请问:我在redhat下装了bochs-2.2.1-1.rpm,.装了后,想设置一下,但找不到bochsrc.fda.bxrc,请问这个文件在哪个曰录下啊。
  • 请问:在配置Qt时,很多文档都说在.profile,.login里加东西,但是我好像没有发现有这两个文件上,请问这些文件在哪个目录下啊
  • 请问:在GCC里的C程序里的变量的声明是不是只能在前面,而且相同类型的变量的声明只能放在一起?如果不是,请问怎么样可以解决这个问题.
  • 请问各位大虾,小弟今天开始学jsp了,这学期我们有java课,所以已经下载了jdk(好象是1.2),请问我的98环境怎么配置jsp环境呀?我的jdk可以运行.java程序,别的我就不知道了....谢谢!
  • 主机是WIN2000,我用的是LUNIX,请问是否可以共享上网? 如果可以请问如何设置? 500分答谢,龟儿食言!
  • 请问linux下GUI开发的问题!
  • 请问出现fstab文件丢失该怎么修复呀?
  • 请问这个方法如何调用?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3