Linux系统下某些编译程序如果使用了原始套接字,就需要root权限才能运行,但是程序正在运行时又无法提升权限,这个时候该怎么办?下面就来介绍一下无需加上sudo或者切换到#提示符让Linux系统下以root权限运行编译程序的方法。
步骤如下:
1、用root权限完成gcc;
2、chmod u+s 《可执行文件》
这时,就能像Linux自带的ping一样,无需sudo或切换至#提示符就能运行了。
当然,由于UNP上的ping源码在创建原始套接字后就使用setuid(getuid()),保持了最小权限原则。
以上的那两个步骤缺一不可,只要按照本文介绍的这种方法,就可以随心所欲地在Linux系统下以root权限运行自己编译的程序了。