再谈Linux修改应用程序获得root权限-阿里云开发者社区

开发者社区> 开发与运维> 正文

再谈Linux修改应用程序获得root权限

简介:
我之前写过一篇关于怎样就可以使你的应用程序获得root权限运行,那个对于一些测试程序或小工程的程序时比较实用,但如果你的工程文件多达几十个甚至上百,那么这种方法就不太适用了。
Ubuntu下面,我选择适用了codelite,它可以编写Windows等跨平台的程序,只是现在用的人还比较少,而且软件确实还存在比较多的问题。不过比起写makefile要方便多了,因为我移植的工程,文件太多了。
在移植中,发现程序中的部分实现需要保证在root权限下执行,这时就需要我下面的方法来改变文件的属性,使得应用程序生成的可执行文件具有root权限。
首先查看文件的权限:
jazka@jazka-desktop:~$ ls -l test
-rwxr-xr-x 1 jazka jazka 9760 2009-12-30 17:07 test
 
然后修改其拥有者为root,并继续查看:
jazka@jazka-desktop:~$ sudo chown root test
[sudo] password for jazka:
jazka@jazka-desktop:~$ ls -l test
-rwxr-xr-x 1 root jazka 9760 2009-12-30 17:07 test
 
之后修改其同组用户为root,并查看:
jazka@jazka-desktop:~$ sudo chgrp root test
jazka@jazka-desktop:~$ ls -l test
-rwxr-xr-x 1 root root 9760 2009-12-30 17:07 test
 
最后,修改其权限为任何用户可读、可写、可执行,并查看:
jazka@jazka-desktop:~$ sudo chmod 4777 test
jazka@jazka-desktop:~$ ls -l test
-rwsrwxrwx 1 root root 9760 2009-12-30 17:07 test
 
此时,你就可以在任何用户下面执行test文件了。
 
可惜的是,该可执行文件并能够以root的权限进行调试运行,因为调试时会重新生成一些目标文件,导致该可执行文件的权限等被修改了,所以回到了上面设置的第一步的状态。


本文转自jazka 51CTO博客,原文链接:http://blog.51cto.com/jazka/253335,如需转载请自行联系原作者

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

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章