Heim > System-Tutorial > LINUX > Hauptteil

Geheimnisse des Linux-Befehls sudo: 10 Tipps zur Verbesserung von Effizienz und Sicherheit

WBOY
Freigeben: 2024-02-11 18:09:23
nach vorne
849 Leute haben es durchsucht

sudo ist ein sehr leistungsfähiger und häufig verwendeter Befehl in Linux-Systemen. Er ermöglicht es normalen Benutzern, bestimmte Befehle oder Programme als Superuser (Root) auszuführen. Dadurch wird verhindert, dass sich Benutzer direkt beim Root-Konto anmelden, wodurch die Systemsicherheit und -stabilität verbessert wird. Wussten Sie jedoch, dass der Befehl sudo viele versteckte Funktionen und Tricks hat? In diesem Artikel werden Ihnen 10 Tipps zum Einrichten von sudo unter Linux vorgestellt, damit Sie sudo-Befehle besser zum Erledigen verschiedener Aufgaben nutzen können. Linux sudo 命令的秘密:10 个提高效率和安全性的技巧

sudo ermöglicht es einem Benutzer, durch die Sicherheitsrichtlinie festgelegte Befehle als Root (oder eines anderen Benutzers) auszuführen: Es liest und analysiert /etc-Sudoer, findet den aufrufenden Benutzer und seine Berechtigungen und fordert dann den aufrufenden Benutzer zur Eingabe eines Passworts auf (normalerweise das des Benutzers). Passwort, es kann aber auch das Passwort des Zielbenutzers sein, oder Sie können NOPASSWD verwenden, um die Passwortüberprüfung abzubrechen), danach erstellt sudo einen Unterprozess, in dem setuid() aufgerufen wird, um als nächstes zum Zielbenutzer zu wechseln, der eine Shell ausführt oder Der obige Unterprozess Der als Argument angegebene Befehl in .
Nachfolgend finden Sie zehn Dateikonfigurationen /etc/sudoers, mit denen Sie das Verhalten des Befehls sudo mithilfe von Standardeinträgen ändern können.

sudo cat /etc/sudoers | less
Nach dem Login kopieren

1.Stellen Sie einen sicheren Weg ein

Dies ist der Pfad, der für jede Befehlsausführung mit sudo verwendet wird. Er ist aus zwei Gründen wichtig:
Wird verwendet, wenn der Systemadministrator nicht darauf vertraut, dass der Sudo-Benutzer über eine sichere PATH-Umgebungsvariable verfügt
Um „Root-Pfad“ und „Benutzerpfad“ zu trennen, sind nur Benutzer, die durch exempt_group definiert sind, von dieser Einstellung nicht betroffen.
Um es festzulegen, fügen Sie die Zeile hinzu:

Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
Nach dem Login kopieren

2. Aktivieren Sie sudo in der TTY-Benutzer-Anmeldesitzung

Um Sudo-Aufrufe von einem echten TTY aus zu ermöglichen, anstatt über Methoden wie Cron- oder CGI-Bin-Skripte, fügen Sie die folgende Zeile hinzu:

Defaults requiretty
Nach dem Login kopieren

3. Führen Sie den Sudo-Befehl mit pty aus

Manchmal kann ein Angreifer sudo verwenden, um ein Schadprogramm (z. B. einen Virus oder eine Malware) auszuführen, das erneut einen Hintergrundprozess auslöst, der auf dem Endgerät des Benutzers verbleibt, selbst nachdem die Ausführung des Hauptprogramms abgeschlossen ist.

Um dies zu vermeiden, können Sie sudo mithilfe des Parameters use_pty so konfigurieren, dass nur andere Befehle von psuedo-pty ausgeführt werden, unabhängig davon, ob das E/A-Protokoll aktiviert ist, wie unten gezeigt:

Defaults use_pty1
Nach dem Login kopieren

4. Sudo-Protokolldatei erstellen

Standardmäßig erfolgen Sudo-Protokolle über syslog(3). Um jedoch eine benutzerdefinierte Protokolldatei anzugeben, verwenden Sie den Protokolldateiparameter wie:

Defaults logfile="/var/log/sudo.log"
Nach dem Login kopieren

Um den Hostnamen und das vierstellige Jahr in einer benutzerdefinierten Protokolldatei zu protokollieren, verwenden Sie die Parameter log_host bzw. log_year wie folgt:

Defaults log_host, log_year, logfile="/var/log/sudo.log"
Nach dem Login kopieren

5. Sudo-Befehlseingabe/-ausgabe aufzeichnen

Die Parameter log_input und log_output ermöglichen es sudo, Befehle in einem Pseudo-TTY auszuführen und alle Benutzereingaben und alle an den Bildschirm gesendeten Ausgaben zu protokollieren.

Das Standard-E/A-Protokollverzeichnis ist /var/log/sudo-io. Wenn eine Sitzungsseriennummer vorhanden ist, wird diese in diesem Verzeichnis gespeichert. Sie können ein benutzerdefiniertes Verzeichnis über den Parameter iolog_dir angeben.

Defaults log_input, log_output1
Nach dem Login kopieren

Unterstützt einige Escape-Sequenzen, wie z. B. %{seq}, die zu einer monoton ansteigenden Sequenznummer zur Basis 36 erweitert werden, wie z. B. 000001, wobei alle zwei Ziffern verwendet werden, um ein neues Verzeichnis zu bilden, z. B. 00/00/01, wie im folgenden Beispiel gezeigt:

[root@linuxprobe ~]# cd /var/log/sudo-io/
[root@linuxprobe sudo-io]# ll
total 8
drwx------ 3 root root 4096 Jan 12 18:58 00
-rw------- 1 root root 7 Jan 12 19:08 seq
[root@linuxprobe sudo-io]# cd 00/00/06/
[root@linuxprobe 06]# ls
log stderr stdin stdout timing ttyin ttyout
[root@linuxprobe 06]# cat log
1484219333:root:root::/dev/pts/0
/root
/bin/bash
Nach dem Login kopieren

6. Sudo-Benutzer erklären

Um dem Sudo-Benutzer die Passwortverwendung im System beizubringen, verwenden Sie den Lecture-Parameter wie unten gezeigt.

Es gibt 3 mögliche Werte:

immer – immer mit einem Benutzer sprechen.

einmal – wird nur verwendet, wenn der Benutzer den sudo-Befehl zum ersten Mal ausführt (wird verwendet, wenn kein Wert angegeben ist)

nie – Informieren Sie Benutzer niemals.

Defaults lecture="always"
Nach dem Login kopieren

Außerdem können Sie mit dem Parameter „lecture_file“ eine benutzerdefinierte Vorlesungsdatei einrichten, indem Sie die entsprechende Nachricht in die Datei eingeben:

Defaults lecture_file="/path/to/file"
Nach dem Login kopieren

7. Benutzerdefinierte Meldung anzeigen, wenn ein falsches Sudo-Passwort eingegeben wird

Wenn der Benutzer ein falsches Passwort eingibt, wird eine bestimmte Meldung in der Befehlszeile angezeigt. Die Standardnachricht lautet „Entschuldigung, versuchen Sie es erneut“. Sie können die Nachricht mithilfe des Parameters badpass_message wie folgt ändern:
Standardwerte badpass_message=“Passwort ist falsch, bitte versuchen Sie es erneut, danke!“

8. Sudo-Passwort-Versuchslimit erhöhen

Mit dem Parameter passwd_tries wird angegeben, wie oft der Benutzer versucht, das Passwort einzugeben. Der Standardwert ist 3:

Defaults passwd_tries=5
Nach dem Login kopieren

9. Lassen Sie sich von Sudo auffordern, wenn Sie ein falsches Passwort eingeben

Defaults insults
Nach dem Login kopieren

10. Erfahren Sie mehr über die Sudo-Konfiguration

http://blog.csdn.net/wh211212/article/details/52923673

Das obige ist der detaillierte Inhalt vonGeheimnisse des Linux-Befehls sudo: 10 Tipps zur Verbesserung von Effizienz und Sicherheit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:lxlinux.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage