“/etc/init.d/networking restart” com usuário não root

0

Eu tenho um thin client com 112mb de RAM que inicializa o ubuntu server 12.04.1 de um drive usb com openbox e é para ser usado por estudantes para se comunicar com equipamentos Cisco. E por causa disso, os alunos precisam ser capazes de reconfigurar a interface de rede e reiniciá-la sem reiniciar usando o único usuário - cisco.

Isso é o que eu tenho até agora:

adduser cisco
usermod -a -G dialout cisco
chown root:cisco /etc/network/interfaces
chmod 664 /etc/network/interfaces
chmod u+s /sbin/shutdown
chmod u+s /sbin/reboot
chmod u+s /sbin/poweroff
chmod u+s /run/network/if*
chmod u+s /sbin/ifdown
chmod u+s /sbin/ifup

E quando eu executo /etc/init.d/networking restart como cisco eu recebo:

*Reconfiguring network interfaces...
rm: cannot remove 'eth0.dhclient': Permission denied
Failed to send flush request: Operation not permitted
RTNETLINK answers: Operation not permitted

Alguma idéia de como fazer isso funcionar?

Obrigado!

    
por bonchen 07.12.2012 / 19:24

1 resposta

0

Você precisa adicionar direitos sudo apropriados ao usuário cisco. Crie um arquivo em /etc/sudoers.d/ como root, chamado cisco, e com o seguinte conteúdo de uma linha:

cisco ALL=NOPASSWD: /etc/init.d/networking

Altere também os direitos de acesso para somente leitura:

sudo chmod 440 /etc/sudoers.d/cisco

Mais o caminho do Ubuntu seria usar a lógica sudo service networking restart , mas eu não sei como adicionar isso ao arquivo sudoers.

    
por Doka 08.12.2012 / 08:30