博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
以root权限运行自己所编译程序的方法
阅读量:6037 次
发布时间:2019-06-20

本文共 542 字,大约阅读时间需要 1 分钟。

  这几天照着UNP上提供的ping源码编写了一个用来学习。虽然编译后能运行,但由于使用了原始套接字,必须root权限运行,这与和Linux下真实的ping有差别:后者是不需要输入sudo或者切换到#才能运行的。linux中的ping源码没有找到,但是看到oschina上有一例自制的ping源码相似,作者提供的示意图中在$提示符下没有用sudo运行的。总之,希望能够使自己编写的程序以root权限运行而不需要加上sudo或者切换到#提示符。

  没有找到能在进程运行时提升自身权限的方法,另查到一种方法(来源见文后注释)可以实现,这两步缺一不可:

(1)用root权限完成gcc;

(2)chmod u+s <可执行文件>

  这时,就能像Linux自带的ping一样,无需sudo或切换至#提示符就能运行了。

  当然,由于UNP上的ping源码在创建原始套接字后就使用setuid(getuid()),保持了最小权限原则。

 

注:

(1)实现方法来自于“” 博客,出处

(2)关于chomd u+s:

本文转自五岳博客园博客,原文链接:www.cnblogs.com/wuyuegb2312/archive/2013/03/31/2991787.html,如需转载请自行联系原作者

你可能感兴趣的文章
开发者详解:端游及手游服务端的常用架构
查看>>
JavaScript History对象
查看>>
在 Windows 下安装 Oracle 11g XE (Express Edition)
查看>>
ListView优化
查看>>
【原创】 PostgreSQL 实现MySQL 的auto_increment 字段
查看>>
vs2015添加vc助手
查看>>
检测点1.1
查看>>
android--------阿里 AndFix 热修复
查看>>
control.add()
查看>>
Sublime text3中配置Github
查看>>
Asp.net,C# 加密解密字符串
查看>>
网页视频播放器插件源码
查看>>
2019-4-23 plan
查看>>
[编解码] 关于base64编码的原理及实现
查看>>
WinDbg配置和使用基础
查看>>
转:Object-Runtime的基本数据类型
查看>>
JMJS系统总结系列----Jquery分页扩展库(五)
查看>>
Excel技巧之——英文大小写转换(转)
查看>>
Google 翻译的妙用
查看>>
常用的集合
查看>>