8 sposobów na poprawianie i konfigurowanie Sudo na Ubuntu
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 tylko do zatwierdzonych poleceń, loguj polecenia uruchamiane za pomocą 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 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. Każde dodatkowe konto użytkownika utworzone po instalacji może być kontem administratora lub standardowym kontem użytkownika - standardowe konta użytkowników nie mają uprawnień sudo.
Możesz 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. Właśnie dlatego wystarczy wpisać hasło raz podczas wykonywania wielu 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 poniższe 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ć zapamiętywanie hasła.
To ustawienie, podobnie jak inne ustawienia sudo, zawarte jest w pliku / etc / sudoers. Uruchom komendę visudo w terminalu, aby otworzyć plik do edycji:
sudo visudo
Pomimo swojej nazwy, polecenie to jest domyślnie ustawione na przyjazny dla użytkownika edytor nano zamiast tradycyjnego edytora vi na Ubuntu.
Dodaj następujący wiersz poniżej innych linii Defaults w pliku:
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 pamiętało twoje hasło przez 5 minut, dodaj następujący wiersz:
Domyślne timestamp_timeout = 5
Nigdy nie pytaj o hasło
Możesz także poprosić sudo, by nigdy nie pytał o hasło - dopóki jesteś zalogowany, każde polecenie poprzedzające sudo będzie działało z uprawnieniami root. 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 - czyli linię, która pozwala wszystkim użytkownikom z grupy sudo (znanym również jako użytkownicy Administratora) używać sudo - aby wszyscy użytkownicy Administratora nie wymagali haseł:
% sudo ALL = (ALL: ALL) NOPASSWD: ALL
Uruchamiaj określone polecenia bez hasła
Możesz również określić konkretne polecenia, które nigdy nie będą wymagać hasła, gdy uruchomisz je za pomocą 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 / shutdown
Może to być szczególnie przydatne podczas uruchamiania określonych poleceń za pomocą sudo w skrypcie.
Zezwalaj użytkownikowi na uruchamianie tylko określonych poleceń
Chociaż możesz zablokować określone polecenia i uniemożliwić użytkownikom uruchamianie ich za pomocą sudo, nie jest to zbyt skuteczne. Na przykład można 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 przy użyciu 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, w którym standarduser to nazwa użytkownika:
standarduser ALL = / usr / bin / apt-get, / sbin / shutdown
Poniższe polecenie powie nam, jakie polecenia użytkownik może uruchomić za pomocą sudo:
sudo -U standarduser -l
Rejestrowanie dostępu Sudo
Możesz zarejestrować cały dostęp sudo, dodając następujący wiersz. / var / log / sudo to tylko przykład; możesz użyć dowolnej lokalizacji pliku dziennika, którą lubisz.
Domyślnie logfile = / var / log / sudo
Zobacz zawartość pliku dziennika za pomocą polecenia podobnego do tego:
sudo cat / var / log / sudo
Należy pamiętać, że jeśli użytkownik ma nieograniczony dostęp do sudo, może on 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.