0
我想沒有sudo ifup eth0的時候和ifdown eth0的運行由使用Linux capabilitiesFor我寫代碼的文件main.c同樣的問題使用sudo ifdown你運行ifup和使用Linux能力
int main{
FILE ,*fp;
fp = popen("ifdown eth0","r");
if(fp==NULL)
{
printf("popen falied\n")
}
pclose(fp);
}
如果我有設置功能爲二進制像以下:
sudo setcap -v cap_chown,cap_dac_override,cap_fowner,cap_dac_read_search,cap_net_admin+epi main
所有功能都設置它是通過使用getcap命令驗證
getcap main
main = cap_chown,cap_dac_override,cap_dac_read_search,cap_fowner,cap_net_admin+eip
如果上面的代碼運行我得到如下答覆:
./main ifdown你:未能打開鎖文件/run/network/ifstate.eth0: 權限被拒絕
有人可以幫我在這?