在linux 系統中是有用戶管理的,每個用戶所擁有的權限是有限的,這是系統的一種保護機制。
但是如果以普通用戶user身份運行的程序,要想獲取一些超級權限,比如 操作網絡設置,重啓等權限,那又該怎麼辦呢?
linux 內核 就給我們提供了這種越線能力的支持,這些函數接口的調用可以直接使用 libcap 的第三方開源庫。安裝後會有一些命令,setcap getcap 可以直接使用命令來設置 越線能力。也可以使用 庫中的函數接口來操作。可參考:https://libcap.com.ph/
但是如果在使用的過程中遇到:
Failed to get capabilities of file `' (Operation not supported)
說明你的內核還沒有打開這種獲取超級權限的開關,畢竟這對於內核來說,是不安全的。
把下面的開關打開即可:
CONFIG_EXT3_FS_SECURITY=y