1

Я использую Mac OS X El Capitan. Из-за Eclipse Che мне нужны эти строки на .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

Писать пароль раздражает всякий раз, когда я открываю новое окно терминала из-за команды sudo . Какой может быть лучший подход, чтобы это исправить?

  • Одна идея состоит в том, чтобы переместить эти строки в другое место, но где?
  • Любая другая идея?

Спасибо,

2 ответа2

2

Вместо использования бита SUID вы можете разрешить sudo без пароля для этой одной команды (и этого конкретного пользователя) в вашем /etc/sudoers или /etc/sudoers.d/ifconfig:

youruser yourhost = (root) NOPASSWD: /sbin/ifconfig lo0 alias *
0

ВАЖНО: Если вы обнаружите проблему с безопасностью с помощью этой процедуры, или есть лучший и безопасный способ сделать это, пожалуйста, прокомментируйте. Буду премного благодарен.

Следуя совету комментария @ AFH, я сделал это, и это сработало:

Сначала я скопировал ifconfig в новую папку.

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

После этого я применил SETUID

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

Наконец, я изменил .bash_profile , удалив команду 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .