Unterschied zwischen SU ​​und Sudo und wie man sudo unter Linux konfiguriert

Unterschied zwischen SU ​​und Sudo und wie man sudo unter Linux konfiguriert

Linux -System ist viel gesichert als jeder seines Gegenstücks. Eine der Möglichkeiten zur Implementierung der Sicherheit unter Linux ist die Benutzerverwaltungsrichtlinie und die Benutzerberechtigung, und normale Benutzer sind nicht autorisiert, Systemvorgänge auszuführen.

Wenn ein normaler Benutzer systemweite Änderungen durchführen muss, muss er beide verwendensu' oder 'sudo' Befehl.

Linux: Su v/s sudo

NOTIZ - Dieser Artikel gilt mehr auf Ubuntu basierte Verteilungen, aber auch für die meisten der Bevölkerung anwendbar Linux Verteilungen.

'Su' vs 'sudo'

''su'zwingt dich, deine zu teilen Root Passwort an andere Benutzer, während ''sudo'Ermöglicht es, Systembefehle ohne auszuführen Wurzel Passwort. 'sudoMit 'Mit Ihrem eigenen Passwort verwenden Sie, um Systembefehle auszuführen. I.e., Delegation der Systemverantwortung ohne Wurzel Passwort.

Was ist 'sudo'?

''sudo'ist eine Wurzelbinärin SetUid, Dies führt Root -Befehle im Namen autorisierter Benutzer aus, und die Benutzer müssen ein eigenes Passwort eingeben, um den Befehl systemsempfindlich auszuführen, gefolgt von 'sudo''.

Wer kann 'sudo' ausführen?

Wir können rennen '/usr/sbin/visudo"Um die Liste der Benutzer hinzuzufügen/zu entfernen, die ausführen können"sudo''.

$ sudo/usr/sbin/visudo

Ein Screenshot von '/usr/sbin/visudo'Datei, sieht ungefähr so ​​aus:

Der sudo Die Liste sieht standardmäßig wie die folgende Zeichenfolge aus:

Wurzeln Sie alle = (alle) alle

Notiz: Du musst sein Wurzel bearbeiten /usr/sbin/visudo Datei.

Sudo -Zugang gewähren

In vielen Situationen, Systemadministrator, Speziell neu im Feld findet die Zeichenfolge “Wurzeln Sie alle = (alle) alle”Als Vorlage und gewährt einen uneingeschränkten Zugang zu anderen, was möglicherweise sehr schädlich sein kann.

Bearbeitung '/usr/sbin/visudo ' Datei zu so etwas wie das folgende Muster kann wirklich sehr gefährlich sein, es sei denn, Sie glauben alle aufgelisteten Benutzer vollständig.

root alle = (alle) alle adam alle = (alle) alle tom alle = (alle) alle markieren alle = (alle) alle

Parameter von sudo

Eine ordnungsgemäß konfigurierte 'sudo'ist sehr flexibel und die Anzahl der Befehle, die ausgeführt werden müssen.

Die Syntax von konfiguriert ''sudo'Zeile ist:

User_name machine_name = (effektiv_user) Befehl

Die obige Syntax kann in vier Teile unterteilt werden:

  1. Nutzername: Dies ist der Name von 'sudo' Benutzer.
  2. Machine_name: Dies ist der Hostname, in dem 'sudo'Befehl ist gültig. Nützlich, wenn Sie viele Host -Maschinen haben.
  3. (Effektiv_user): Der 'effektive Benutzer', der die Befehle ausführen dürfen. Mit dieser Spalte können Sie Benutzer Systembefehle ausführen.
  4. Befehl: Befehl oder eine Reihe von Befehlen, die der Benutzer ausführen kann.

Vorgeschlagene Lesen: 10 nützliche Sudoers -Konfigurationen zum Einstellen von 'sudo' unter Linux

Einige der Situationen und ihre entsprechend 'sudo' Linie:

Q1. Sie haben einen Benutzer markieren Das ist ein Datenbankadministrator. Sie sollen ihm den gesamten Zugriff auf den Datenbankserver bieten (Beta.Datenbankserver.comnur und nicht auf einem Host.

Für die obige Situation die 'sudo'Zeile kann geschrieben werden als:

Mark Beta.Datenbankserver.com = (alle) alle

Q2. Sie haben einen Benutzer 'Tom'Was den Systembefehl als Benutzer als Root auf demselben Datenbankserver ausführen soll, erläutert.

Für die obige Situation die 'sudo'Zeile kann geschrieben werden als:

Mark Beta.Datenbankserver.com = (tom) alle

Q3. Sie haben einen Sudo -BenutzerKatze"Welches soll den Befehl ausführen"Hund' nur.

Um die obige Situation umzusetzen, können wir 'sudo' schreiben als:

Mark Beta.Datenbankserver.com = (Katzen) Hund

Q4. Was ist, wenn dem Benutzer mehrere Befehle gewährt werden muss?

Wenn die Anzahl der Befehle ausführen soll, sollte der Benutzer ausgeführt werden 10, Wir können alle Befehle neben dem weißen Raum dazwischen platzieren, wie unten gezeigt:

Mark Beta.Datenbankserver.com = (cat)/usr/bin/command1/usr/sbin/command2/usr/sbin/command3… 

Wenn diese Befehlsliste zum Bereich variiert und wobei es buchstäblich nicht möglich ist, jeden Befehl manuell einzugeben, müssen wir verwenden Aliase. Aliase! Ja, das Linux-Dienstprogramm, bei dem ein langlanger Befehl oder eine Liste von Befehl als kleines und einfaches Schlüsselwort bezeichnet werden kann.

Ein paar ALias Beispiele, die anstelle des Eintritts in 'verwendet werden könnensudo' Konfigurationsdatei.

User_alias admins = tom, jerry, adam user_alias webmaster = henry, markieren
Webmaster -Webservers = (www) Apache cmnd_alias proc =/bin/kill,/bin/killall,/usr/bin/top

Es ist möglich, a anzugeben Systemgruppen, Anstelle von Benutzern gehört das zu dieser Gruppe, nur Suffixing '%' wie nachstehend:

%apacheaDmin webservers = (www) Apache

Q5. Wie wäre es mit der Ausführung eines 'sudo'Befehl ohne Passwort einzugeben?

Wir können eine 'ausführen'sudo"Befehl ohne Passwort mithilfe von" Kennwort "zu verwenden"Nopasswd' Flagge.

Adam All = (all) nopasswd: procs

Hier der Benutzer 'Adam'Kann alle Befehle ausführen Alias unter "Procs”, Ohne Passwort einzugeben.

Vorgeschlagene Lesen: Lassen Sie sich von Sudo beleidigen, wenn Sie ein falsches Passwort eingeben

sudo„Bietet Ihnen eine robuste und sichere Umgebung mit viel Flexibilität im Vergleich zu 'su''. Darüber hinaus "sudoDie Konfiguration ist einfach. Einige Linux -Verteilungen haben "sudo”Aktiviert standardmäßig, während die meisten Distribos von heute Sie benötigen, um es als a Sicherheitsmaßnahme.

So fügen Sie einen Benutzer (Bob) in sudo hinzu.

Zusatz Bob Sudo 

Das ist alles fürs Erste. Ich werde wieder mit einem anderen interessanten Artikel hier sein. Bis dahin bleiben Sie dran und mit Tecmint verbunden. Vergessen Sie nicht, uns Ihr wertvolles Feedback in unserem Kommentarbereich zu geben.