Linux系統下某些編譯程序如果使用了原始套接字,就需要root權限才能運行,但是程序正在運行時又無法提升權限,這個時候該怎麼辦?下面就來介紹一下無需加上sudo或者切換到#提示符讓Linux系統下以root權限運行編譯程序的方法。
步驟如下:
1、用root權限完成gcc;
2、chmod u+s 《可執行文件》
這時,就能像Linux自帶的ping一樣,無需sudo或切換至#提示符就能運行了。
當然,由於UNP上的ping源碼在創建原始套接字後就使用setuid(getuid()),保持了最小權限原則。
以上的那兩個步驟缺一不可,只要按照本文介紹的這種方法,就可以隨心所欲地在Linux系統下以root權限運行自己編譯的程序了。