Tentando executar ifup e ifdown usando o recurso linux

0

Eu quero rodar ifup eth0 e ifdown eth0 sem sudo usando os recursos do linux.

Para o mesmo problema eu escrevi código para o mesmo main.c

int main
{
FILE ,*fp;
fp  = popen("ifdown eth0","r");
if(fp==NULL)
{
printf("popen falied\n");
}
pclose(fp);
}

Se eu tiver definido recursos como binário, como segue -

sudo   setcap -v cap_chown,cap_dac_override,cap_fowner,cap_dac_read_search,cap_net_admin+epi main

Todos os recursos estão definidos. É verificado usando o comando getcap

getcap main
main = cap_chown,cap_dac_override,cap_dac_read_search,cap_fowner,cap_net_admin+eip

se você executar o código acima, recebo após a resposta

./main

ifdown: failed to open lockfile /run/network/ifstate.eth0: Permission denied 

embora eu tenha definido recursos para a permissão ainda estou recebendo permissão negada erro.

Alguém pode me ajudar nisso?

    
por indrajeet 05.09.2017 / 10:37

0 respostas