Mastodon
Zdjęcie okładkowe wpisu Hasło sudo i trzy zabezpieczenia

Hasło sudo i trzy zabezpieczenia

1
Dodane: 9 lat temu

Polecenie sudo służy do wykonywania zdań, do których dostęp ma root, ale bez potrzeby przelogowywania się na niego. W OS X po jednokrotnym wpisaniu hasła podczas wywołania komendy sudo, nie będziemy musieli ponownie wpisywać tego pierwszego (hasła) przez 5 minut. Można to jednak zmienić.

Mamy kilka możliwości dotyczących czasu, po którym będzie trzeba ponownie wpisać hasło z wykorzystaniem sudo:

  • skrócić ten czas,
  • wydłużyć,
  • zlikwidować, żeby wpisywać hasło za każdym razem,
  • ustawić, żeby hasło nigdy nie wygasało.

Aby skonfigurować którąkolwiek z powyższych opcji, musimy wyedytować plik sudoers w specjalnym edytorze. Zrobimy to przy pomocy poniższego polecenia:

sudo visudo

Klawiszami strzałek na klawiaturze zjeżdżamy na sam koniec pliku, na końcu linijki. Tam wciskamy klawisz i, aby przejść w tryb edycji. Przechodzimy do nowej linii klawiszem Enter i wpisujemy tam poniższą frazę:

Defaults timestamp_timeout=x

Gdzie x to czas podany w minutach. Jak już wspominałem, domyślnie hasło sudo jest w mocy przez 5 minut. Możemy ten czas skrócić lub wydłużyć. Mogą to być liczby dziesiętne, ale trzeba pamiętać, że zamiast przecinka, trzeba ją zapisać z kropką, np. 0.5 będzie oznaczało 0,5 minuty. Jeśli chcemy natomiast zupełnie wyłączyć tę opcję, czyli wpisywać hasło przy każdym użyciu, musimy ustawić liczbę 0. Ostanią możliwość daje wpisanie dowolnej liczby ujemnej. Efektem takiego ustawienia będzie zapamiętanie hasła na stałe, co może być przydatne w określonych warunkach, a z drugiej strony – niebezpieczne w pozostałej większości.

Kiedy już ustawimy czas, pozostaje nam tylko zapisać zmiany i wyjść z edytora visudo. Żeby to zrobić, musimy najpierw wyjść z trybu edycji klawiszem Esc. Potem wciskamy klawisze Shift+; i kiedy w linii pojawi się :, wpisujemy dwie litery – wq (czyli zapisz i wyjdź) i zatwierdzamy klawiszem Enter. Teraz wystarczy zrestartować Terminal, żeby zmiany weszły w życie.


Drugim zabezpieczeniem jest czas, w jakim wyświetla się pole do wpisania hasła. Domyślnie pole to nigdy nie wygasa, ale również to można zmienić. Jeśli chcecie to zrobić, to znowu trzeba edytować ustawienia dla sudo, jak to opisałem wcześniej, ale tym razem na końcu pliku dopisujemy poniższą frazę:

Defaults passwd_timeout=x

x również podajemy w minutach i możemy korzystać z liczb dziesiętnych. Wartość domyślna – 0 – powoduje, że pole hasła nigdy nie wygasa. Tutaj nie używamy też liczb ujemnych. Na koniec nie zapomnijcie wyjść z edycji (Esc) i zapisać zmian (Shift+; oraz wqEnter).


Trzecim sposobem na zabezpieczenie, jest zmiana liczby prób wpisywanych haseł. Domyśnie wartość ta wynosi 3. Jeśli wykorzystamy te możliwości i znowu źle wpiszemy hasło, polecenie sudo zostanie anulowane. Aby zmniejszyć (lub też zwiększyć) liczbę prób, musimy korzystając z powyższej metody edycji pliku sudo visudo dodać na końcu:

Defaults passwd_tries=x

Gdzie x to liczba prób (oczywiście w tym przypadku już bez używania ułamków dziesiętnych).

Źródło OS X Daily

Maciej Skrzypczak

Użytkownik sprzętu z nadgryzionym jabłkiem, grafik komputerowy, Redaktor iMagazine.pl. Mastodon: mcskrzypczak@c.im

Zapraszamy do dalszej dyskusji na Mastodonie lub Twitterze .

Komentarze: 1

Nie zgodzę się ze stwierdzeniem w pierwszym zdaniu.

`root` z zasady ma dostęp do wszystkich poleceń, więc stwierdzenie “Polecenie sudo służy do wykonywania zdań, do których dostęp ma root” jest nie do końca precyzyjne.

`sudo` służy do wykonywania poleceń JAKO `root`.

Weźmy za przykład utworzenie pliku poleceniem `touch [nazwa_pliku]`
Jeżeli zrobimy to w katalogu, domowym użytkownika, to utworzy on plik `[nazwa_pliku]`, którego właścicielem będzie użytkownik, którym odpaliliśmy komendę.
Jeżeli zaś zrobimy `sudo touch [nazwa_pliku]` to również zostanie utworzony plik, ale jego właścicielem będzie już użytkownik `root`.