10 Przydatne konfiguracje sudoers do ustawiania „sudo” w Linux
- 4071
- 580
- Natan Cholewa
W systemie Linux i innych systemów operacyjnych UNIX, tylko źródło Użytkownik może uruchamiać wszystkie polecenia i wykonywać niektóre krytyczne operacje w systemie, takie jak instalacja i aktualizacja, usuwać pakiety, tworzyć użytkowników i grupy, modyfikować ważne pliki konfiguracyjne systemu i tak dalej.
Jednak administrator systemu, który zakłada rolę użytkownika root, może zezwolić innym normalnym użytkownikom systemu za pomocą polecenia Sudo i kilku konfiguracji na uruchamianie niektórych poleceń, a także przeprowadzanie wielu ważnych operacji systemowych, w tym tych wymienionych powyżej.
Alternatywnie, administrator systemu może udostępnić hasło użytkownika root (co nie jest zalecaną metodą), aby normalni użytkownicy systemu mieli dostęp do konta użytkownika root za pośrednictwem Su Komenda.
sudo Umożliwia dozwolonego użytkownika na wykonanie polecenia jako root (lub innego użytkownika), jak określono w zasadach bezpieczeństwa:
- Czyta i analizuje /etc/sudoers, Wygląda na wywołującego użytkownika i jego uprawnienia,
- Następnie wyświetla monitowanie użytkownika wywołującego hasło (zwykle hasło użytkownika, ale może to być hasło docelowego użytkownika. Lub można go pominąć tagiem NOPASSWD),
- Następnie Sudo tworzy proces dziecięcy, w którym nazywa setuid () Aby przejść do użytkownika docelowego
- Następnie wykonuje powłokę lub polecenie podane jako argumenty w powyższym procesie dziecka.
Poniżej znajduje się dziesięć /etc/sudoers Konfiguracje plików w celu zmodyfikowania zachowania sudo polecenie za pomocą Domyślne wpisy.
$ sudo cat /etc /sudoers/etc/sudoers plik
# # Ten plik musi być edytowany za pomocą polecenia „Visudo” jako root. # # Rozważ dodanie treści lokalnych w /etc /sudoers.d/ zamiast # bezpośrednio modyfikujący ten plik. # # Zobacz stronę Man, aby uzyskać szczegółowe informacje na temat napisania pliku sudoers. # Domyślnie Env_Reset Domyślnie Mail_Badpass Domyślnie Secure_Path = "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" defaults logfile = "/var/log/sudo.log „domyślnie Wykład =„ zawsze ”domyślnie Badpass_Message =" Hasło jest złe, spróbuj ponownie "domyślnie PASSWD_TRIES = 5 Domyślne Obrażenia Domyślnie log_input, log_output
Rodzaje wpisów domyślnych
Parametr domyślny, parametr_list #affect wszystkich użytkowników na dowolnym hoście [chroniony e -mail] Parametr _list, parametr_list #faftecs wszystkich użytkowników na określonych domyślnych hosta: parametr_list, parametr_LIST #FAFFECTS DECYDENTOWE Użytkownicy domyślnie domyślnie domyślnie domyślnie użytkownika!Parametr CMND_LIST, parametr_list #affects Domyślnie określone polecenie> Parametr runas_list, Parameter_List #fafts Polecenia uruchamiane jako określony użytkownik
Dla zakresu tego przewodnika nie będziemy zerować do pierwszego rodzaju Domyślne w poniższych formach. Parametry mogą być flagami, wartościami całkowitymi, ciągami lub listami.
Należy zauważyć, że flagi są domyślnie logiczne i można je wyłączyć za pomocą '!'
operator i listy mają dwóch dodatkowych operatorów przydziałów, +=
(Dodaj do listy) i -=
(usunąć z listy).
Domyślnie parametr lub domyślnie parametr = wartość lub domyślne parametr -= wartość domyślna parametr += wartość lub domyślne !parametr
1. Ustaw bezpieczną ścieżkę
Jest to ścieżka używana dla każdego polecenia z sudo, ma dwa import:
- Używane, gdy administrator systemu nie ufa użytkownikom Sudo, aby mieć zmienną środowiskową bezpiecznej ścieżki
- Aby oddzielić „ścieżka root” i „ścieżka użytkownika”, tylko użytkownicy zdefiniowani przez ZEPREMPT_GROUP To ustawienie nie ma wpływu.
Aby go ustawić, dodaj linię:
Domyślnie Secure_Path = "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
2. Włącz Sudo na sesji logowania użytkowników TTY
Aby umożliwić powołanie Sudo z prawdziwego tty ale nie poprzez metody takie jak Cron Lub CGI-bin Skrypty, dodaj linię:
Domyślnie wymaga wymagania
3. Uruchom polecenie sudo za pomocą Pty
Kilka razy atakujący mogą uruchomić złośliwy program (taki jak wirus lub złośliwe oprogramowanie) za pomocą Sudo, który ponownie rozwiewa proces w tle, który pozostał na urządzeniu terminalowym użytkownika, nawet gdy główny program zakończył wykonywanie.
Aby uniknąć takiego scenariusza, możesz skonfigurować sudo do uruchamiania innych poleceń tylko z psuedo-pty używając użyj_pty
Parametr, czy rejestrowanie we/wy jest włączone, czy nie w następujący sposób:
Domyślnie używa_pty
4. Utwórz plik dziennika sudo
Domyślnie sudo loguje się przez syslog (3). Jednak, aby określić niestandardowy plik dziennika, użyj parametru pliku dziennika, takiego jak:
Domyślnie logfile = "/var/log/sudo.dziennik"
Aby zalogować nazwę hosta i czterocyfrowy rok w niestandardowym pliku dziennika, użyj log_host I log_year Parametry odpowiednio w następujący sposób:
Domyślnie log_host, log_year, logfile = "/var/log/sudo.dziennik"
Poniżej znajduje się przykład niestandardowego pliku dziennika Sudo:
Utwórz niestandardowy plik dziennika Sudo5. Log Log Sudo Wejście/wyjście
log_input I log_output Parametry umożliwiają sudo uruchomienie polecenia w pseudo-tty i rejestrowanie wszystkich wejściowych użytkowników i wszystkich wyjściowych wysyłanych na ekran na ekranie.
Domyślny katalog dziennika we/wy jest /var/log/sudo-io, A jeśli istnieje numer sekwencji sesji, jest on przechowywany w tym katalogu. Możesz określić niestandardowy katalog za pośrednictwem iolog_dir parametr.
Domyślnie log_input, log_output
Obsługiwane są sekwencje ucieczki, takie jak %seq
który rozszerza się na monotonicznie rosnącą liczbę sekwencji bazy-36, taką jak 000001, gdzie co dwa cyfry są używane do utworzenia nowego katalogu, e.G. 00/00/01 Jak w poniższym przykładzie:
$ cd/var/log/sudo-io/$ ls $ cd 00/00/01 $ ls $ cat logLog log sudo wyjście wejściowe
Możesz wyświetlić resztę plików w tym katalogu za pomocą polecenia CAT.
6. Użytkownicy wykładu Sudo
Aby wykładać użytkowników Sudo na temat korzystania z hasła w systemie, użyj wykład parametr jak poniżej.
Ma 3 możliwe wartości:
- Zawsze - zawsze wykładaj użytkownika.
- Raz - Wykład tylko użytkownika po raz pierwszy wykonuje polecenie Sudo (jest to używane, gdy nie jest określona wartość)
- Nigdy - nigdy nie wykładaj użytkownika.
Domyślnie wykład = „Zawsze”
Dodatkowo możesz ustawić niestandardowy plik wykładowy z Wykład_File Parametr, wpisz odpowiedni komunikat w pliku:
Domyślnie wykład_file = "/ścieżka/do/pliku"Użytkownicy wykładu Sudo
7. Pokaż wiadomość niestandardową, gdy wprowadzasz złe hasło sudo
Gdy użytkownik wprowadza niewłaściwe hasło, w wierszu poleceń wyświetlana jest określona wiadomość. Domyślna wiadomość brzmi „Przepraszamy, spróbuj jeszcze raz”, Możesz zmodyfikować wiadomość za pomocą Badpass_message Parametr w następujący sposób:
Domyślnie BadPass_Message = "Hasło jest złe, spróbuj ponownie"
8. Zwiększ limit próby haseł sudo
Parametr PASSWD_TRIES służy do określenia liczby razy, gdy użytkownik może spróbować wprowadzić hasło.
Wartość domyślna to 3:
Domyślnie passwd_tries = 5Zwiększ próby haseł sudo
Aby ustawić limit czasu hasła (domyślnie to 5 minut) za pomocą Passwd_timeout Parametr, dodaj linię poniżej:
Domyślnie passwd_timeout = 2
9. Pozwól Sudo cię obrażać, gdy wpisujesz złe hasło
W przypadku, gdy użytkownik wpisuje niewłaściwe hasło, Sudo wyświetli obelgi na terminalu z parametrem Obelga. To automatycznie wyłączy Badpass_message parametr.
Domyślnie zniewagiObrażajmy cię, gdy wprowadź złe hasło
Czytaj więcej: Pozwól Sudo cię obrażać, gdy wprowadzisz nieprawidłowe hasło
10. Dowiedz się więcej konfiguracji sudo
Dodatkowo możesz dowiedzieć się więcej sudo Konfiguracje poleceń według odczytu: Różnica między SU i Sudo i jak skonfigurować sudo w Linux.
Otóż to! Możesz udostępnić inne przydatne konfiguracje poleceń Sudo lub sztuczki i wskazówki z użytkownikami Linux za pośrednictwem sekcji komentarza poniżej.
- « Cloudstats.Ja - łatwy monitorowanie serwera i witryny z chmury
- 3 sposoby na stałe i bezpieczne usuwanie „plików i katalogów” w Linux »