Terminal - nie wymaga hasła do uruchomienia skryptu powłoki

3

Używam Yosemite 10.10.5 i mam skrypt powłoki, którego chcę używać do przełączania, czy moje połączenia Wi-Fi działają przez tor, czy nie. Wykorzystuje networksetupto kilka razy, więc prosi o hasło przy każdym uruchomieniu lub anulowaniu.

Czy istnieje sposób na uruchomienie skryptu powłoki bez konieczności podawania hasła za każdym razem?

Dzięki!

kilgoretrout
źródło
Możesz edytować sudoersplik, aby zapewnić użytkownikowi dostęp networksetupbez konieczności podawania hasła. Czy networksetup jedyne polecenie wymaga sudo?
nohillside
1
tak. czy mógłbyś zastanowić się nad tym, co i jak edytować?
kilgoretrout
Najpierw
musisz stanąć

Odpowiedzi:

4

Możesz dodać regułę do /etc/sudoerspliku, aby dać swojemu użytkownikowi prawa dostępu networksetupbez hasła.

  1. Zanotuj nazwę użytkownika konta użytkownika, które powinno mieć możliwość uruchomienia polecenia (nazwę użytkownika można uzyskać, uruchamiając whoamiw terminalu)
  2. Zaloguj się jako administrator
  3. Otwórz terminal
  4. VISUAL=nano sudo visudo - otwiera plik sudoers w rodzaju przyjaznego edytora
  5. Skocz na dół
  6. Dodaj

    USERID-FROM-STEP1 ALL = NOPASSWD: /usr/sbin/networksetup

    po którym następuje pusta linia (!)

  7. Zapisz i wyjdź

Powinieneś być teraz w stanie uruchomić się networksetupjako użytkownik od kroku 1 bez pytania o hasło, po prostu wpisując sudo networksetup.

nohillside
źródło
co jeśli użytkownik jest tylko mną? czy byłaby to nazwa mojego katalogu domowego?
kilgoretrout
@river_jones Aby uzyskać właściwy identyfikator użytkownika, wystarczy wejść whoamido terminalu. Zwykle (ale niekoniecznie, ponieważ mogłeś zmienić nazwę folderu użytkownika lub użytkownika wcześniej) jest to ta sama nazwa, co folder domowy w / Users.
klanomath
W niepowiązanej sprawie byłem po prostu ciekawy i zastąpiłem nanogo subl(używam sublime do programowania), a to właśnie otworzyło nowy pusty plik (jak touch). Dlaczego nanootwiera „poprawny” / etc / subdoers.tmp`, ale sublnie otwiera ?
kilgoretrout
Przy okazji, nie zdawałem sobie sprawy, że jako administrator mogę po prostu dodawać sudodo moich networksetuppołączeń i wystarczy, aby ukryć potwierdzenie hasła. Jest to jednak przydatne, aby zezwolić na to samo dla osób niebędących administratorami. Dziękujemy za poświęcony czas i pomoc!
kilgoretrout