Mover um comando sudo do bash_profile

0

Estou usando o Mac OS X El Capitan. Por causa do Eclipse Che, eu preciso dessas linhas em .bash_profile

export DOCKER_VM_IP=$(docker run --rm --net host alpine sh -c "ip a show eth0" | grep 'inet ' | cut -d/ -f1 | awk '{ print $2}')
sudo ifconfig lo0 alias $DOCKER_VM_IP

É irritante escrever a senha sempre que eu abrir uma nova janela de terminal, por causa do comando sudo . Qual poderia ser a melhor abordagem para corrigir isso?

  • Uma ideia é mover essas linhas para um lugar diferente, mas onde?
  • Alguma outra ideia?

Obrigado,

    
por JonDoe297 15.09.2016 / 15:21

2 respostas

2

Em vez de usar o bit SUID, você pode permitir sudo sem senha para esse comando (e esse usuário específico) em /etc/sudoers ou /etc/sudoers.d/ifconfig :

youruser yourhost = (root) NOPASSWD: /sbin/ifconfig lo0 alias *
    
por 08.05.2018 / 14:32
0

IMPORTANTE: Se você encontrar um problema de segurança com este procedimento, ou se houver uma maneira melhor e segura de fazê-lo, por favor, comente. Eu apreciaria isso.

Seguindo o conselho do comentário da @ AFH, eu fiz isso e funcionou:

Primeiro, copiei ifconfig para uma nova pasta.

$ cd /Users/username
$ mkdir sbin
$ sudo chown username:staff ./sbin
$ sudo chmod 700 ./sbin
$ cd sbin
$ cp /sbin/ifconfig .

Depois disso, apliquei o SETUID

$ sudo chown root:wheel ./ifconfig
$ sudo chmod +s ./ifconfig

Por fim, modifiquei .bash_profile , removendo o comando sudo

export DOCKER_VM_IP=$(docker run --rm --net host alpine sh -c "ip a show eth0" | grep 'inet ' | cut -d/ -f1 | awk '{ print $2}')
~/sbin/ifconfig lo0 alias $DOCKER_VM_IP
    
por 16.09.2016 / 18:04