免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 10252 | 回复: 13
打印 上一主题 下一主题

用system函数调用iptables命令,提示权限不够?????? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-11-02 09:42 |只看该作者 |倒序浏览
通过system调用ipatbles命令,提示权限不够,

  1. int main()
  2. {
  3.     system("/sbin/ iptables -P FORWARD ACCEPT");
  4.     return 0;
  5. }
复制代码
因为执行iptables命令需要在root权限下,请问如何在命令中描述使
命令在执行时直接在root权限下执行,而不需要手动切换或输入密码。
我是将程序编译成可执行程序放在嵌入式中运行。
另外,将这个程序在PC linux系统中测试也是提示权限不够???

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
2 [报告]
发表于 2011-11-02 10:05 |只看该作者
回复 1# LYZC11
    system("/sbin/ iptables -P FORWARD ACCEPT");

实际是这样吗?

论坛徽章:
0
3 [报告]
发表于 2011-11-02 10:10 |只看该作者
回复 2# Godbach


    是啊,我只是随意用一条iptables命令先测试一下.但提示没有权限,如果在PC 上测试就需要先输入用户密码.

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
4 [报告]
发表于 2011-11-02 11:01 |只看该作者
回复  Godbach


    是啊,我只是随意用一条iptables命令先测试一下.但提示没有权限,如果在PC 上测试就 ...
LYZC11 发表于 2011-11-02 10:10


我指的是 /sbin 和 iptables 之间有个空格,实际代码是这样的吗

论坛徽章:
0
5 [报告]
发表于 2011-11-02 11:08 |只看该作者
回复 4# Godbach


    对,是有一个空格,实际代码也是这样写的。

论坛徽章:
0
6 [报告]
发表于 2011-11-02 11:26 |只看该作者
回复 4# Godbach


  如果没有空格会显示找不到命令,
所以,提示权限不够应该如何修改呢?

论坛徽章:
0
7 [报告]
发表于 2011-11-02 11:44 |只看该作者
版主帮忙解答一下啊,
不知道  瀚海书香 版主在不???????????

论坛徽章:
2
CU十二周年纪念徽章
日期:2013-10-24 15:41:34处女座
日期:2013-12-27 22:22:41
8 [报告]
发表于 2011-11-02 11:57 |只看该作者
回复  Godbach
  如果没有空格会显示找不到命令,
LYZC11 发表于 2011-11-02 11:26


我C,解决办法就是加一个空格?

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
9 [报告]
发表于 2011-11-02 12:37 |只看该作者
回复 6# LYZC11

你这个问题很基本。
首先,你确定你的这个命令在 shell 里面能直接工作吗

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
10 [报告]
发表于 2011-11-02 12:38 |只看该作者
回复 6# LYZC11
iptables 在 CentOS 上的路径应该就是在 /sbin/iptables, 当然,你直接写 iptables 应该也是能够工作的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP