让Raw Socket的应用程序在非root用户下执行

    在非root用户下执行基于Libpcap库编写的应用程序时不能正常运行,原因是由于libpcap库使用raw socket的套接字。而Raw Socket的使用需要root权限,否则raw socket会创建失败,因此基于raw socket编写的应用程序必须在root具有用户权限才能使用。
    为了让基于Raw Socket应用程序在非Root用户下能够执行,在你编译完基于Raw Socket的应用程序之后,执行下面3步:
    1. 进入root用户权限,若已经在root用户权限下忽略这一步
    $ su root            # 输入root密码
    2. 以root用户权限修改应用程序的所有者(group)属性为root。
    # sodu chown root:root <app-name>
    3. 以root用户添加应用程序的stick位,使得非root用户也能以root用户权限运行。
    # sodu chmod u+s <app-name>
   其中:
       <app-name>为你应用程序的名称。
   如果应用程序使用到其它动态库文件,那必须把这些动态库文件拷贝到/usr/lib目录中。
   最终的结果是使得你的应用程序与/bin/ping程序一样,具有相同的所有权和文件权限设置。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值