10 nützliche Sudoers -Konfigurationen zum Einstellen von 'sudo' unter Linux
- 4995
- 527
- Susanne Stoutjesdijk
In Linux und anderen Unix-ähnlichen Betriebssystemen nur die nur die Wurzel Der Benutzer kann alle Befehle ausführen und bestimmte kritische Operationen auf dem System ausführen, z. B. Installation und Aktualisieren, Pakete entfernen, Benutzer und Gruppen erstellen, wichtige Systemkonfigurationsdateien usw. ändern usw.
Ein Systemadministrator, der die Rolle des Stammbenutzers übernimmt.
Alternativ kann der Systemadministrator das Stammbenutzerkennwort (die keine empfohlene Methode darstellt) freigeben, sodass normale Systembenutzer über das Root -Benutzerkonto über die Stammbenutzerkonto übertragen werden su Befehl.
sudo Ermöglicht einem erlaubten Benutzer, einen Befehl als Root (oder einen anderen Benutzer) auszuführen, wie in der Sicherheitsrichtlinie angegeben:
- Es liest und analysiert /etc/sudoers, Schauen Sie den aufgerufenen Benutzer und seine Berechtigungen nach,
- fordert dann den aufgerufenen Benutzer für ein Kennwort auf (normalerweise das Kennwort des Benutzers, kann aber auch das Kennwort des Zielbenutzers sein. Oder es kann mit Nopasswd -Tag übersprungen werden),
- Danach erstellt Sudo einen Kinderprozess, in dem es ruft setUid () Um zum Zielbenutzer zu wechseln
- Als nächstes wird eine Shell oder den Befehl ausgesetzt.
Unten sind zehn /etc/sudoers Dateikonfigurationen, um das Verhalten von zu ändern sudo Befehl mit Standardeinstellungen Einträge.
$ sudo cat /etc /sudoers/etc/sudoers Datei
# # Diese Datei muss mit dem Befehl 'visudo' als root bearbeitet werden. # # Bitte erwägen Sie lokale Inhalte in /etc /sudoers hinzuzufügen.D/ anstelle von # direkt ändern diese Datei. # # Die Mannseite finden Sie auf Informationen zum Schreiben einer Sudoers -Datei. # Defaults env_reset defaults mail_badpass defaults secure_path = "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" Defaults logFile = "/var/log/sudo.Protokoll "Standards" vorture = "Immer" Standards BadPass_Message = "Passwort ist falsch. Versuchen Sie es noch einmal
Arten von Standardeinträgen
Standard -Parameter, Parameter_List #Affect Alle Benutzer auf jedem Host [E -Mail -Protected] _List -Parameter, parameter_list #AFFECTS Alle Benutzer auf einer bestimmten Host -Standardeinstellung: User_List Parameter, Parameter_List #AffeCTS eine bestimmte Benutzerausstattung!CMND_LIST -Parameter, Parameter_List #AFFECTS Ein bestimmter Befehlsfallleiter> Runas_List Parameter, Parameter_List #Affektsbefehle als bestimmter Benutzer ausgeführt
Für den Umfang dieses Leitfaden Standardeinstellungen in den folgenden Formularen. Parameter können Flags, ganzzahlige Werte, Zeichenfolgen oder Listen sein.
Sie sollten beachten, dass Flaggen implizit booleschen und mit dem ausgeschaltet werden können ''!''
Betreiber und Listen haben zwei zusätzliche Zuordnungsbetreiber, +=
(zur Liste hinzufügen) und -=
(Aus Liste entfernen).
Standard -Parameter oder Standardeinstellungen Parameter = Wert oder Standard Parameter -= Wert Standard -Parameter += Wert oder Standardeinstellungen !Parameter
1. Setzen Sie einen sicheren Pfad
Dies ist der Pfad, den für jeden Befehlslauf mit Sudo verwendet wird. Es hat zwei Importances:
- Wird verwendet, wenn ein Systemadministrator nicht vertraut, dass Sudo -Benutzer eine sichere Pfadumgebungsvariable haben
- Um den „Root -Pfad“ und „Benutzerpfad“ zu trennen, sind nur Benutzer definiert von Exempt_Group sind nicht von dieser Einstellung betroffen.
Um es einzustellen, fügen Sie die Zeile hinzu:
Standards Secure_path = "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
2. Aktivieren Sie sudo auf der TTY -Benutzeranmeldung Sitzung
Sudo zu ermöglichen, von einem echten aufzurufen werden tty aber nicht durch Methoden wie z Cron oder CGI-bin Skripte, fügen Sie die Zeile hinzu:
Standardbedarf
3. Führen Sie den Sudo -Befehl mit einem pty aus
Ein paar Mal können Angreifer ein böswilliges Programm (wie ein Virus oder Malware) mit Sudo ausführen, das erneut einen Hintergrundprozess auf dem Terminalgerät des Benutzers verbleibt, selbst wenn das Hauptprogramm ausgeführt wurde.
Um ein solches Szenario zu vermeiden, können Sie sudo so konfigurieren, dass andere Befehle nur von a ausführen PSUDO-PTY Verwendung der use_pty
Parameter, ob die E/A -Protokollierung eingeschaltet ist oder nicht wie folgt:
Standards use_pty
4. Erstellen Sie eine Sudo -Protokolldatei
Standardmäßig protokolliert sich Sudo über Syslog (3). Um eine benutzerdefinierte Protokolldatei anzugeben, verwenden Sie jedoch den Parameter Logfile -Parameter wie SO:
Standards logfile = "/var/log/sudo.Protokoll"
Um Hostname und das vierstellige Jahr in der benutzerdefinierten Protokolldatei zu protokollieren, verwenden Sie log_host Und log_year Parameter jeweils wie folgt:
Standards log_host, log_year, logfile = "/var/log/sudo.Protokoll"
Unten finden Sie ein Beispiel für eine benutzerdefinierte Sudo -Protokolldatei:
Erstellen Sie die benutzerdefinierte Sudo -Protokolldatei5. Log Sudo -Befehlseingabe/Ausgabe anmelden
Der log_input Und log_output Mit den Parametern können Sudo einen Befehl in pseudo-tty ausführen und alle Benutzereingaben und alle Ausgaben an den Bildschirm angehört protokollieren.
Das Standard -E/A -Protokollverzeichnis ist /var/log/sudo-io, Und wenn es eine Sitzungssequenznummer gibt, wird sie in diesem Verzeichnis gespeichert. Sie können ein benutzerdefiniertes Verzeichnis über die angeben iolog_dir Parameter.
Standards log_input, log_output
Es werden einige Fluchtsequenzen unterstützt, wie z %seq
Dies wird zu einer monotonisch zunehmenden Basis-36.G. 00/00/01 Wie im folgenden Beispiel:
$ cd/var/log/sudo-io/$ ls $ cd 00/00/01 $ ls $ cat LogLog Sudo -Eingangsausgabe anmelden
Sie können den Rest der Dateien in diesem Verzeichnis mit dem CAT -Befehl anzeigen.
6. Vorträge sudo -Benutzer
Verwenden Sie das, um sudo -Benutzer über die Kennwortverbrauch im System zu unterrichten Vorlesung Parameter wie unten.
Es hat 3 mögliche Werte:
- Immer - immer einen Benutzer untersuchen.
- Einmal - nur einen Benutzer vorlegen, wenn er den Sudo -Befehl zum ersten Mal ausführt (dies wird verwendet, wenn kein Wert angegeben wird)
- Niemals - niemals den Benutzer untersuchen.
Standardeinstellungen Vorlesung = "Immer"
Zusätzlich können Sie eine benutzerdefinierte Vorlesungsdatei mit der festlegen Vorlesung_file Parameter geben Sie die entsprechende Nachricht in die Datei ein:
Standards leser_file = "/path/to/file" "Vorträge sudo -Benutzer
7. Zeigen Sie benutzerdefinierte Nachricht, wenn Sie ein falsches Sudo -Passwort eingeben
Wenn ein Benutzer ein falsches Passwort eingibt, wird in der Befehlszeile eine bestimmte Nachricht angezeigt. Die Standardnachricht ist “Sorry, versuch es nochmal”, Sie können die Nachricht mit dem ändern badpass_message Parameter wie folgt:
Standards BadPass_Message = "Passwort ist falsch, bitte versuchen Sie es erneut."
8. Erhöhen Sie das Sudo -Passwort -Versuche Grenzwert
Der Parameter Passwd_tries Wird verwendet, um die Anzahl anzugeben, mit der ein Benutzer versuchen kann, ein Kennwort einzugeben.
Der Standardwert ist 3:
Standardeinstellungen passwd_tries = 5Erhöhen Sie Sudo -Passwortversuche
So setzen passwd_timeout Parameter, fügen Sie die folgende Zeile hinzu:
Standards passwd_timeout = 2
9. Lassen Sie sich von Sudo beleidigen, wenn Sie ein falsches Passwort eingeben
Wenn ein Benutzer ein falsches Passwort eingibt, zeigt Sudo Beleidigungen am Terminal mit dem Parameter der Beleidigung an. Dies schaltet automatisch die aus badpass_message Parameter.
Standardeinstellungen BeleidigungenLassen Sie uns Sie bei der Eingabe eines falschen Passworts beleidigen
Weiterlesen: Lassen Sie sich von Sudo beleidigen, wenn Sie ein falsches Passwort eingeben
10. Weitere Sudo -Konfigurationen finden Sie
Zusätzlich können Sie mehr lernen sudo Befehlskonfigurationen durch Lesen: Unterschied zwischen SU und Sudo und wie Sie sudo unter Linux konfigurieren.
Das ist es! Sie können andere nützliche Sudo -Befehlskonfigurationen oder -Trips und Tipps mit Linux -Benutzern über den folgenden Kommentarbereich freigeben.
- « Cloudstats.Ich - Einfacher Server- und Website -Überwachung aus der Cloud
- 3 Möglichkeiten zum dauerhaften und sicheren Löschen von Dateien und Verzeichnissen unter Linux »