Anstatt SUID-Bit zu verwenden, können Sie kennwortlose Sudo für diesen einen Befehl (und diesen bestimmten Benutzer) in Ihrem /etc/sudoers
oder zulassen /etc/sudoers.d/ifconfig
:
youruser yourhost = (root) NOPASSWD: /sbin/ifconfig lo0 alias *
Ich verwende Mac OS X El Capitan. Wegen Eclipse Che brauche ich diese Zeilen weiter.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
Es ist ärgerlich, das Kennwort zu schreiben, wenn ich aufgrund eines sudo
Befehls ein neues Terminalfenster öffne . Was könnte der bessere Ansatz sein, um dies zu beheben?
Vielen Dank,
Anstatt SUID-Bit zu verwenden, können Sie kennwortlose Sudo für diesen einen Befehl (und diesen bestimmten Benutzer) in Ihrem /etc/sudoers
oder zulassen /etc/sudoers.d/ifconfig
:
youruser yourhost = (root) NOPASSWD: /sbin/ifconfig lo0 alias *
WICHTIG: Wenn Sie bei diesem Verfahren ein Sicherheitsproblem finden oder es einen besseren und sichereren Weg gibt, kommentieren Sie es bitte. Ich würde es schätzen.
Dem Ratschlag von @ AFH folgend, tat ich dies und es hat funktioniert:
Zuerst habe ich ifconfig
in einen neuen Ordner kopiert .
$ cd /Users/username $ mkdir sbin $ sudo chown username:staff ./sbin $ sudo chmod 700 ./sbin $ cd sbin $ cp /sbin/ifconfig .
Danach habe ich die SETUID angewendet
$ sudo chown root:wheel ./ifconfig $ sudo chmod +s ./ifconfig
Schließlich habe ich .bash_profile
den sudo
Befehl geändert und den Befehl entfernt
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