GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Was ist der Unterschied zwischen dem Hinzufügen eines Benutzers zu sudoers und der Root-Gruppe?

Obwohl die Frage „Debian Linux Server“ erwähnt, ist sie derzeit sowohl mit Debian als auch mit Ubuntu gekennzeichnet. Da Informationen über mehrere Betriebssysteme von Interesse zu sein scheinen, werde ich die Verweise auf bestimmte Betriebssysteme einfach vollständig ignorieren und nur die am weitesten verbreiteten Standards beschreiben.

Gruppen sind in /etc/group aufgelistet und es gibt häufig eine Gruppe namens "root". Diese Datei listet die Namen von Gruppen und ihre entsprechenden numerischen Werte für die "Gruppen-ID" ("GID") auf.

Jeder in einer Gruppe mit dem Namen „root“ kann Dateien lesen, schreiben oder ausführen, deren „Gruppeneigentümer“ auf dieselbe „Gruppen-ID“ („GID“) wie die Gruppe mit dem Namen „root“ gesetzt ist. Wenn also eine Datei „bin:root“ gehört und die Berechtigungen „rwxrwx---“ hat, dann kann ein Benutzer in der „root“-Gruppe die Datei wegen des mittleren Satzes von Berechtigungen ausführen.

Der von der „sudo“-Software gesetzte Standard basiert dagegen auf der in der Datei /etc/sudoers hinterlegten Konfiguration. In der Datei /etc/sudoers werden Gruppennamen im Unix-Stil nach Prozentzeichen angezeigt, wie in der sudoers-Manpage (im HTML-Format) beschrieben:Abschnitt zum Dateiformat "sudoers". Ein Verweis auf %sudoers in der Datei /etc/sudoers bezieht sich also auf eine Gruppe namens "sudoers", die sich in der Datei /etc/groups befindet.

Die Standarddatei /etc/sudoers enthält keinen Verweis auf eine Gruppe namens „sudoers“. Beachten Sie, dass ich mich auf die echte Standarddatei /etc/sudoers beziehe, die Sie anzeigen können, indem Sie das sudo-Repository anzeigen, indem Sie im linken Rahmen auf „Durchsuchen“, dann auf „Beispiele“ und dann auf „sudoers“ klicken.

Viele Betriebssysteme haben jedoch standardmäßig eine benutzerdefinierte /etc/sudoers-Datei installiert. Es ist also durchaus möglich, dass Ihr Betriebssystem eine Gruppe namens sudoers speziell unterstützt. Um die genauen Auswirkungen zu verstehen, sehen Sie sich die Datei /etc/sudoers an.

Vermutlich ist es wahrscheinlich, dass, wenn Ihr Betriebssystem eine Gruppe namens sudoers hat, eine Person in dieser Gruppe Berechtigungen mit dem sudo-Befehl erhöhen kann. (Der empfohlene Weg, dies zu bestätigen, besteht darin, die Datei /etc/sudoers zu überprüfen.)

Wenn eine Person ihre Berechtigungen erhöht, muss eine solche Person möglicherweise eine akzeptable Authentifizierung (ein Kennwort) eingeben oder muss dies möglicherweise nicht. Selbst wenn dies der Fall ist, können sie nach der Authentifizierung für einige Zeit über ein „Token“ verfügen, das es ihnen ermöglicht, sich erneut zu erhöhen, ohne sich erneut authentifizieren zu müssen (bis dieser Zeitraum abgelaufen ist). Dieser Zeitraum beträgt 5 Minuten, es sei denn, /etc/sudoers legt etwas anderes fest, indem eine Option namens "timeout" verwendet wird.

Im Gegensatz dazu müsste eine Person in der „Root“-Gruppe kein Passwort eingeben, um auf eine Datei zuzugreifen, die der „Root“-Gruppe gehört.

Beachten Sie, dass die Gruppe "sudoers" möglicherweise bevorzugt wird. Durch Erhöhung kann eine Person möglicherweise vollen Superuser-Zugriff erhalten. (Dies ist typisch. Die Datei /etc/sudoers kann einer Person erlauben, zu einem anderen Benutzer zu wechseln oder zu erhöhen, aber mit Einschränkungen, welcher Befehl anfänglich ausgeführt wird. Normalerweise wird eine Person, die eine Erhöhung durchführt, mit Standard-/einfachen Konfigurationen einfach voll Elevation.) Wenn ein Benutzer als vollständiger Superuser authentifiziert ist, unterliegt er im Allgemeinen keinen Berechtigungen, die auf typischen Unix-Dateisystem-Eigentümern basieren (die „Eigentümer“- und die „Gruppeneigentümer“-Einstellungen). Der Benutzer unterliegt möglicherweise noch anderen auf Berechtigungen basierenden Einschränkungen, wie z ein weiterer Grund dafür, dass eine Datei möglicherweise keine Berechtigungen bereitstellt (z. B. wenn eine Datei gesperrt ist, was darauf hinweist, dass die Datei bereits verwendet wird). Wenn eine Datei gehört:

root:root

und hat die Berechtigungen von:

rwx------

Dann erhält ein Benutzer keine Berechtigungen für die Datei, nur weil der Benutzer in einer Gruppe namens "root" ist. Daher kann die Gruppe "root" praktischer sein (keine Passwörter erforderlich), obwohl sie eingeschränkter sein kann. (Oder eine Gruppe in /etc/sudoers kann eingeschränkter sein, je nachdem, wie /etc/sudoers konfiguriert ist.)


Bei der 'Root-Gruppe', wie Sie sie in /etc/group angeben würden, geht es um Unix-Berechtigungen. Jede Datei hat Benutzer-, Gruppen- und „Sonstige“-Berechtigungen. Wenn eine Datei so eingestellt ist, dass Benutzer in der Gruppe root sie lesen können, dann können Sie einem Benutzer die Berechtigung erteilen, diese Datei zu lesen, indem Sie den Benutzer in die Gruppe root versetzen. Natürlich kann dieser Benutzer dann alle lesen Datei, bei der das Lesebit für die Gruppe root gesetzt ist.

In der sudoers-Datei geht es darum, Befehle mit der effektiven ID anderer Benutzer auszuführen. Sie haben eine genauere Kontrolle darüber, welche Befehle jeder Benutzer ausführen kann und als wen. Wenn Sie also möchten, dass ein Benutzer nur einen bestimmten Befehl als root ausführen kann, dann würden Sie das in der sudoers-Datei festlegen.


Linux
  1. Was ist der Unterschied zwischen fsync und syncfs?

  2. Wie kann ich der sudoers-Datei einen regulären Benutzer hinzufügen?

  3. Benutzer nicht in der sudoers-Datei. Dieser Vorfall wird gemeldet

  4. Was ist der Unterschied zwischen unlink und rm?

  5. Centos 7 - Hinzufügen eines Benutzers zur Sudoers-Gruppe - ist immer noch nicht in der Sudoers-Datei - warum?

Was ist der Unterschied zwischen Linux und Unix?

Useradd vs. Adduser:Was ist der Unterschied?

Was ist ein Hypervisor? Was ist der Unterschied zwischen Typ 1 und 2?

Was ist der Unterschied zwischen Curl und Wget?

Was ist der Unterschied zwischen den Optionen -g und -G in useradd

Was ist der Unterschied zwischen `fallocate --dig-holes` und `fallocate --punch-hole` unter Linux?