Linux
沒有root權限的iwlist掃描
我正在編寫需要掃描其中一個無線介面的應用程序。過去,我的程序執行時
sudo
使用(在程式碼中):iwlist wlanX scan
但現在我想允許在沒有 root 權限的情況下執行程序。
/sbin/iwlist
如果我更改to的功能會相對安全cap_net_admin+eip
嗎?Iwlist
只是為了顯示詳細的無線資訊,所以更廣泛地訪問這個命令可能不是很危險,對吧?
您可以進行配置
sudo
,以便組的成員可以在沒有密碼的情況下執行命令。用於visudo
編輯sudoers
文件:# visudo
添加類似於以下內容的內容:
%mygroup ALL = (root) NOPASSWD: iwlist wlanX scan
到文件的底部(
mygroup
您的組的名稱前面有一個百分號)。
%mygroup
您還可以通過更改為 來允許單個使用者執行它myuser
,其中myuser
是使用者名(注意缺少百分號)。或者,您可以通過替換
%mygroup
為ALL
.使用
capabilities
允許cap_net_admin
所有iwlist
命令,而使用sudo
如上配置的命令將其限制為僅具有特定選項的一個命令。那必須更安全。另一個(一般)原因是 configure
sudo
比 using 更具可移植性capabilites
,儘管如果您只是使用 Linux,這在這種情況下無關緊要。