Podobnie jak większość rzeczy w Linuksie, polecenie sudo jest bardzo konfigurowalne. Możesz sprawić, by sudo uruchamiało określone polecenia bez pytania o hasło, ograniczać określonych użytkowników tylko do zatwierdzonych poleceń, rejestrować polecenia uruchamiane z sudo i nie tylko.
Zachowanie polecenia sudo jest kontrolowane przez plik / etc / sudoers w twoim systemie. To polecenie należy edytować za pomocą polecenia visudo, które sprawdza składnię, aby upewnić się, że przypadkowo nie uszkodzisz pliku.
Określ użytkowników z uprawnieniami Sudo
Konto użytkownika, które tworzysz podczas instalacji Ubuntu, jest oznaczone jako konto administratora, co oznacza, że może używać sudo. Wszelkie dodatkowe konta użytkowników utworzone po instalacji mogą być kontami administratora lub standardowymi - konta użytkowników standardowych nie mają uprawnień sudo.
Możesz kontrolować typy kont użytkowników graficznie z 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 myślniku.
Spraw, by Sudo zapomniało hasła
Domyślnie sudo zapamiętuje Twoje hasło przez 15 minut po jego wpisaniu. Dlatego podczas wykonywania wielu poleceń za pomocą sudo w krótkich odstępach czasu wystarczy wpisać hasło. Jeśli masz zamiar pozwolić komuś innemu używać swojego komputera i chcesz, aby sudo poprosiło o hasło przy następnym uruchomieniu, wykonaj następujące polecenie, a sudo zapomni hasła:
sudo –k
Zawsze pytaj o hasło
Jeśli wolisz być monitowany za każdym razem, gdy używasz sudo - na przykład, jeśli inne osoby regularnie mają dostęp do twojego komputera - możesz całkowicie wyłączyć zachowanie związane z zapamiętywaniem hasła.
To ustawienie, podobnie jak inne ustawienia sudo, jest zawarte w pliku / etc / sudoers. Uruchom polecenie visudo w terminalu, aby otworzyć plik do edycji:
sudo visudo
Pomimo swojej nazwy, to polecenie domyślnie jest nowym, przyjaznym dla użytkownika edytorem nano zamiast tradycyjnego edytora vi w systemie Ubuntu.
Dodaj następujący wiersz poniżej innych wierszy Defaults w pliku:
Domyślnie 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, na przykład 30 minut, albo krótszy, na przykład 5 minut - wykonaj powyższe kroki, ale użyj innej wartości dla timestamp_timeout. Ta liczba odpowiada liczbie minut, przez które sudo będzie pamiętać Twoje hasło. Aby sudo zapamiętywało twoje hasło przez 5 minut, dodaj następujący wiersz:
Domyślnie timestamp_timeout = 5
Nigdy nie pytaj o hasło
Możesz także ustawić sudo, aby nigdy nie pytać o hasło - tak długo, jak jesteś zalogowany, każde polecenie, które poprzedzisz sudo, będzie działać z uprawnieniami roota. 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 także zmienić linię% sudo - to znaczy linię, która pozwala wszystkim użytkownikom w grupie sudo (znanym również jako administratorzy) na używanie sudo - aby wszyscy użytkownicy Administratorzy nie wymagali haseł:
% sudo ALL = (ALL: ALL) NOPASSWD: ALL
Uruchom określone polecenia bez hasła
Możesz także określić konkretne polecenia, które nigdy nie będą wymagały hasła podczas uruchamiania z sudo. Zamiast używać „ALL” po NOPASSWD powyżej, określ położenie poleceń. Na przykład poniższy wiersz pozwoli twojemu kontu użytkownika na uruchamianie poleceń apt-get i shutdown bez hasła.
nazwa użytkownika ALL = (ALL) NOPASSWD: / usr / bin / apt-get, / sbin / shutdown
Może to być szczególnie przydatne podczas uruchamiania określonych poleceń z sudo w skrypcie.
Zezwalaj użytkownikowi na uruchamianie tylko określonych poleceń
Chociaż możesz umieścić na czarnej liście określone polecenia 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 zamykania systemu za pomocą sudo. Ale to konto użytkownika może uruchomić polecenie cp z sudo, utworzyć kopię polecenia shutdown i zamknąć system przy użyciu kopii.
Bardziej skutecznym sposobem jest umieszczenie na białej liście określonych poleceń. Na przykład możesz nadać kontu użytkownika Standard uprawnienia do używania poleceń apt-get i shutdown, ale nic więcej. Aby to zrobić, dodaj następujący wiersz, gdzie standarduser to nazwa użytkownika użytkownika:
standarduser ALL = / usr / bin / apt-get, / sbin / shutdown
Następujące polecenie powie nam, jakie polecenia użytkownik może uruchomić za pomocą sudo:
sudo -U standarduser –l
Logowanie dostępu do Sudo
Możesz zarejestrować cały dostęp do sudo, dodając następujący wiersz. / var / log / sudo to tylko przykład; możesz użyć dowolnej lokalizacji pliku dziennika.
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 do sudo, może on usuwać lub modyfikować zawartość tego pliku. Użytkownik może również uzyskać dostęp do monitu roota za pomocą sudo i uruchamiać polecenia, które nie byłyby rejestrowane. Funkcja rejestrowania jest najbardziej użyteczna w połączeniu z kontami użytkowników, które mają ograniczony dostęp do podzbioru poleceń systemowych.