开发者社区> 长征6号> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

以root权限运行自己所编译程序的方法

简介:
+关注继续查看

  这几天照着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)实现方法来自于“飞雪待剑” 博客,出处http://jazka.blog.51cto.com/809003/240549

(2)关于chomd u+s:http://blog.sina.com.cn/s/blog_a04184c101010kpk.html



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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
MySQL数据库忘记root账号密码解决方法
mysql5.7密码忘记解决方法 1.环境变量 ENV:
61 0
nagios插件编写及使用nrpe执行root命令
MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0 前言:Nagios是相当不错的监控工具,被称作是“监控之神”,但同样也有“难搞死”头衔。
847 0
android中获取root权限的方法以及原理(转)
一、 概述本文介绍了android中获取root权限的方法以及原理,让大家对android 玩家中常说的“越狱”有一个更深层次的认识。二、 Root 的介绍1. Root 的目的可以让我们拥有掌控手机系统的权限,比如删除一些system/app下面的无用软件,更换开关机铃声和动画,拦截状态栏弹出的广告等。
2490 0
+关注
1222
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载