8 Möglichkeiten, Sudo unter Ubuntu zu optimieren und zu konfigurieren
Wie die meisten Dinge unter Linux ist der Befehl sudo sehr konfigurierbar. Sie können mit sudo bestimmte Befehle ausführen, ohne nach einem Kennwort zu fragen, bestimmte Benutzer nur auf genehmigte Befehle, Protokollbefehle, die mit sudo ausgeführt werden, einschränken, usw..
Das Verhalten des sudo-Befehls wird von der Datei / etc / sudoers auf Ihrem System gesteuert. Dieser Befehl muss mit dem Befehl visudo bearbeitet werden, der die Syntax überprüft, um sicherzustellen, dass die Datei nicht versehentlich beschädigt wird.
Geben Sie Benutzer mit Sudo-Berechtigungen an
Das Benutzerkonto, das Sie während der Installation von Ubuntu erstellen, ist als Administratorkonto gekennzeichnet. Dies bedeutet, dass Sie sudo verwenden können. Alle zusätzlichen Benutzerkonten, die Sie nach der Installation erstellen, können entweder Administrator- oder Standardbenutzerkonten sein. Standardbenutzerkonten verfügen nicht über sudo-Berechtigungen.
Sie können Benutzerkontentypen grafisch mit dem Benutzerkonten-Tool von Ubuntu steuern. Klicken Sie zum Öffnen auf den Benutzernamen in der Anzeige und wählen Sie Benutzerkonten aus, oder suchen Sie nach Benutzerkonten im Bindestrich.
Lassen Sie Sudo Ihr Passwort vergessen
Standardmäßig speichert sudo Ihr Passwort 15 Minuten nach der Eingabe. Deshalb müssen Sie Ihr Kennwort nur einmal eingeben, wenn Sie mehrere Befehle mit sudo kurz hintereinander ausführen. Wenn Sie eine andere Person Ihren Computer verwenden lassen und Sudo bei der nächsten Ausführung nach dem Kennwort fragen möchten, führen Sie den folgenden Befehl aus, und Sudo vergisst Ihr Kennwort:
sudo -k
Fragen Sie immer nach einem Passwort
Wenn Sie lieber jedes Mal, wenn Sie sudo verwenden, dazu aufgefordert werden, beispielsweise wenn andere Personen regelmäßig Zugriff auf Ihren Computer haben, können Sie das Verhalten zum Erinnern von Kennwörtern vollständig deaktivieren.
Diese Einstellung ist wie andere Sudo-Einstellungen in der Datei / etc / sudoers enthalten. Führen Sie den Befehl visudo in einem Terminal aus, um die Datei zur Bearbeitung zu öffnen:
Sudo Visudo
Trotz seines Namens verwendet dieser Befehl standardmäßig den neuen benutzerfreundlichen Nano-Editor anstelle des traditionellen vi-Editors unter Ubuntu.
Fügen Sie die folgende Zeile unter den anderen Defaults-Zeilen in der Datei hinzu:
Defaults timestamp_timeout = 0
Drücken Sie Strg + O, um die Datei zu speichern, und drücken Sie dann Strg + X, um Nano zu schließen. Sudo fragt Sie immer nach einem Kennwort.
Ändern Sie das Kennwort-Timeout
Um ein anderes Zeitlimit für das Kennwort festzulegen - entweder ein längeres Zeitintervall (30 Minuten) oder ein kürzeres (5 Minuten) -, führen Sie die oben genannten Schritte aus, verwenden Sie jedoch einen anderen Wert für Zeitstempel_Zeitlimit. Die Anzahl entspricht der Anzahl der Minuten, für die Sudo sich Ihr Passwort merken wird. Damit sich sudo Ihr Passwort 5 Minuten lang merken kann, fügen Sie die folgende Zeile hinzu:
Standardwerte timestamp_timeout = 5
Fragen Sie niemals nach einem Passwort
Sie können sudo auch niemals nach einem Kennwort fragen. Solange Sie angemeldet sind, wird jeder Befehl, dem Sie sudo voranstellen, mit root-Berechtigungen ausgeführt. Fügen Sie dazu die folgende Zeile zu Ihrer Sudoers-Datei hinzu, wobei Benutzername Ihr Benutzername ist:
username ALL = (ALL) NOPASSWD: ALL
Sie können auch die% sudo-Zeile ändern, d. H. Die Zeile, in der alle Benutzer der sudo-Gruppe (auch als Administratorbenutzer bezeichnet) sudo verwenden können, damit alle Administratorbenutzer keine Kennwörter benötigen:
% sudo ALL = (ALL: ALL) NOPASSWD: ALL
Führen Sie bestimmte Befehle ohne Kennwort aus
Sie können auch bestimmte Befehle angeben, für die unter sudo kein Kennwort erforderlich ist. Anstelle von "ALL" nach NOPASSWD oben geben Sie die Position der Befehle an. In der folgenden Zeile können Sie beispielsweise die Befehle apt-get und shutdown ohne Kennwort ausführen.
username ALL = (ALL) NOPASSWD: / usr / bin / apt-get, / sbin / shutdown
Dies kann besonders nützlich sein, wenn Sie bestimmte Befehle mit Sudo in einem Skript ausführen.
Erlauben Sie einem Benutzer, nur bestimmte Befehle auszuführen
Sie können zwar bestimmte Befehle auf die schwarze Liste setzen und verhindern, dass Benutzer sie mit sudo ausführen. Dies ist jedoch nicht sehr effektiv. Sie können beispielsweise angeben, dass ein Benutzerkonto den Befehl "shutdown" nicht mit sudo ausführen kann. Dieses Benutzerkonto kann jedoch den Befehl cp mit sudo ausführen, eine Kopie des Befehls shutdown erstellen und das System mithilfe der Kopie herunterfahren.
Eine effektivere Methode ist die Whitelist bestimmter Befehle. Sie können beispielsweise einem Standardbenutzerkonto die Berechtigung erteilen, die Befehle apt-get und shutdown zu verwenden, jedoch nicht mehr. Fügen Sie dazu die folgende Zeile hinzu, wobei Standardbenutzer der Benutzername des Benutzers ist:
Standardbenutzer ALL = / usr / bin / apt-get, / sbin / shutdown
Der folgende Befehl sagt uns, welche Befehle der Benutzer mit sudo ausführen kann:
Sudo -U Standardbenutzer -l
Sudo-Zugriff protokollieren
Sie können den gesamten Sudo-Zugriff protokollieren, indem Sie die folgende Zeile hinzufügen. / var / log / sudo ist nur ein Beispiel; Sie können einen beliebigen Speicherort für die Protokolldatei verwenden.
Defaults logfile = / var / log / sudo
Zeigen Sie den Inhalt der Protokolldatei mit einem Befehl wie diesem an:
sudo cat / var / log / sudo
Wenn ein Benutzer uneingeschränkten sudo-Zugriff hat, kann dieser Benutzer den Inhalt dieser Datei löschen oder ändern. Ein Benutzer könnte auch mit sudo auf eine Root-Eingabeaufforderung zugreifen und Befehle ausführen, die nicht protokolliert werden. Die Protokollierungsfunktion ist am nützlichsten, wenn sie mit Benutzerkonten gekoppelt ist, die den Zugriff auf einen Teil der Systembefehle eingeschränkt haben.