22Aug
Podobnie jak większość rzeczy w systemie Linux, polecenie sudo jest bardzo konfigurowalne. Możesz uruchamiać określone polecenia, nie pytając o hasło, ograniczać konkretnych użytkowników do zatwierdzonych poleceń, loguj polecenia uruchamiane przy pomocy sudo i nie tylko.
Zachowanie polecenia sudo jest kontrolowane przez plik sudoers /etc/ w twoim systemie. To polecenie należy edytować za pomocą polecenia visudo, które wykonuje sprawdzanie składni, aby upewnić się, że przypadkowo nie złamiesz pliku.
Określ użytkowników z uprawnieniami Sudo
Konto użytkownika utworzone podczas instalacji Ubuntu jest oznaczone jako konto administratora, co oznacza, że może używać sudo. Wszelkie dodatkowe konta użytkowników tworzone po instalacji mogą być kontami administracyjnymi lub standardowymi kontami użytkowników - standardowe konta użytkowników nie mają uprawnień sudo.
Można kontrolować typy kont użytkowników w sposób graficzny za pomocą narzędzia Konta użytkowników Ubuntu. Aby go otworzyć, kliknij swoją nazwę użytkownika na panelu i wybierz Konta użytkowników lub wyszukaj Konta użytkowników w łączniku.
Spraw, aby Sudo zapomniał hasła
Domyślnie sudo zapamiętuje twoje hasło przez 15 minut po jego wpisaniu. Dlatego wystarczy wpisać hasło tylko raz, wykonując wiele poleceń za pomocą sudo w krótkim odstępie czasu. Jeśli masz zamiar pozwolić komuś innemu na korzystanie z komputera i chcesz, aby sudo pytało o hasło podczas jego następnego uruchomienia, wykonaj następujące polecenie, a sudo zapomni Twojego hasła:
sudo -k
Zawsze pytaj o hasło
JeśliZamiast tego zawsze otrzymywałeś podpowiedź za każdym razem, gdy używasz sudo - na przykład, jeśli inne osoby regularnie mają dostęp do twojego komputera - możesz wyłączyć całkowicie zapamiętywanie hasła.
To ustawienie, podobnie jak inne ustawienia sudo, zawarte jest w pliku sudoers /etc/.Uruchom komendę visudo w terminalu, aby otworzyć plik do edycji:
sudo visudo
Pomimo swojej nazwy, polecenie to domyślnie przyjmuje edytor nano przyjazny dla nowych użytkowników zamiast tradycyjnego edytora vi na Ubuntu.
Dodaj następujący wiersz poniżej innych linii Defaults w pliku:
Ustawienia domyślne timestamp_timeout = 0
Naciśnij Ctrl + O, aby zapisać plik, a następnie naciśnij Ctrl + X, aby zamknąć Nano. Sudo będzie teraz zawsze pytać o hasło.
Zmień limit czasu hasła
Aby ustawić inny limit czasu hasła - dłuższy niż 30 minut lub krótszy jak 5 minut - wykonaj powyższe kroki, ale użyj innej wartości dla timestamp_timeout. Liczba odpowiada liczbie minut, przez które sudo zapamięta twoje hasło. Aby sudo zapamiętał twoje hasło przez 5 minut, dodaj następujący wiersz:
Domyślny timestamp_timeout = 5
Nigdy nie pytaj o hasło
Możesz również poprosić sudo, by nigdy nie pytał o hasło - dopóki jesteś zalogowany, każde poleceniePrefiks z sudo będzie działał z uprawnieniami root'a. Aby to zrobić, dodaj następujący wiersz do pliku sudoers, gdzie nazwa użytkownika to Twoja nazwa użytkownika:
nazwa użytkownika ALL =( ALL) NOPASSWD: ALL
Możesz również zmienić linię% sudo - czyli linię, która pozwala wszystkim użytkownikom wgrupa sudo( znana również jako Administrator), aby użyć sudo - aby wszyscy użytkownicy Administratora nie wymagali haseł:
% sudo ALL =( ALL: ALL) NOPASSWD: ALL
Uruchom konkretne polecenia bez hasła
Możesz również określić konkretne polecenia, którenigdy nie będzie wymagać hasła podczas uruchamiania z sudo. Zamiast używać "ALL" po NOPASSWD powyżej, określ lokalizację poleceń.Na przykład poniższy wiersz pozwoli Twojemu kontu użytkownika uruchamiać komendy apt-get i shutdown bez hasła.
nazwa_użytkownika ALL =( ALL) NOPASSWD: /usr/bin/ apt-get, /sbin/ wyłączenie
Może to być szczególnie przydatne podczas wykonywania określonych poleceń z sudo w skrypcie.
Pozwól użytkownikowi uruchamiać tylko określone polecenia
Podczas gdy możesz zamieniać określone polecenia na czarnej liście i uniemożliwić użytkownikom uruchamianie ich za pomocą sudo, nie jest to zbyt skuteczne. Na przykład możesz określić, że konto użytkownika nie może uruchomić polecenia zamknięcia za pomocą sudo. Ale to konto użytkownika może uruchomić polecenie cp za pomocą sudo, utworzyć kopię polecenia shutdown i zamknąć system za pomocą kopii.
Bardziej skutecznym sposobem jest dodawanie do białej listy konkretnych poleceń.Na przykład możesz dać kontu użytkownika Standardowego uprawnienia do używania komend apt-get i shutdown, ale nie więcej. Aby to zrobić, dodaj następujący wiersz, gdzie standardowy użytkownik to nazwa użytkownika:
standarduser ALL = /usr/bin/ apt-get, /sbin/ wyłączenie
Poniższe polecenie powie nam, jakie komendy użytkownik może uruchomić z sudo:
sudo -U standarduser -l
Logowanie Sudo Access
Możesz zarejestrować wszystkie sudo dostęp poprzez dodanie następującego wiersza. /var/log/ sudo jest tylko przykładem;możesz użyć dowolnej lokalizacji pliku dziennika, którą lubisz.
Domyślnie logfile = /var/log/ sudo
Wyświetl zawartość pliku dziennika za pomocą polecenia podobnego do tego:
sudo cat /var/log/ sudo
Pamiętaj, że jeśli użytkownik ma nieograniczony dostęp sudo, ten użytkownik może usunąć lub zmodyfikowaćzawartość tego pliku. Użytkownik może również uzyskać dostęp do wiersza polecenia root za pomocą polecenia sudo i uruchamiać polecenia, które nie zostałyby zarejestrowane. Funkcja rejestrowania jest najbardziej przydatna w połączeniu z kontami użytkowników, które mają ograniczony dostęp do podzbioru poleceń systemowych.