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 *
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?
Obrigado,
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 *
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
Tags macos .bash-profile