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

Müssen Sie Newgrp oder Su verwenden (oder sich abmelden und erneut anmelden), um neue Gruppenmitgliedschaften zu beantragen?

Was bewirkt, dass eine neue Gruppenmitgliedschaft ein neues Login erfordert (oder eine neue Login-Shell, wie sie von su gestartet wird oder newgrp ) sichtbar sein?

Führen Sie einfach eine andere Bash-Instanz (oder eine andere Shell-Instanz) mit --login aus funktioniert nicht, aber etwas, das suid root ist, wie su oder newgrp, funktioniert.

Wird etwas von der übergeordneten Shell geerbt oder zwischengespeichert, was neue Gruppenmitgliedschaften verbirgt?

Akzeptierte Antwort:

Wenn ein untergeordneter Prozess erstellt wird, werden Prozessbenutzer-ID und Gruppen-IDs von seinem übergeordneten Prozess geerbt.

Wenn Sie also die Gruppen Ihrer Benutzer ändern (eigentlich Konfigurationsdateien irgendwo auf der Festplatte ändern), werden Prozesse dies nicht automatisch bemerken und ihre Gruppen-IDs ändern (Nicht-Root-Prozesse haben sowieso keine Rechte dafür).

Und wenn Sie bash starten … nun, Sie starten einfach bash, nichts Besonderes passiert. Es erbt nur die Gruppen-IDs der Eltern (grafische Shell oder vielleicht eine andere Bash).

Aber wenn Sie su ausführen oder sich anmelden, passiert die ganze Magie. Sie prüfen, ob Sie sich anmelden dürfen, und ändern ihre Benutzer-ID und Gruppen-IDs (unter Verwendung von Systemaufrufen, die übrigens eine effektive Root-ID erfordern – deshalb haben sie das Suid-Bit gesetzt), damit alle ihre untergeordneten Prozesse diese IDs erben.


Linux
  1. Verwenden Sie mount --bind, um das Website- und E-Mail-Verzeichnis eines ISPConfig 3-Servers in ein neues Verzeichnis zu verschieben

  2. Verwenden Sie mount --bind, um das Website- und E-Mail-Verzeichnis eines ISPConfig 3-Servers in ein neues Verzeichnis zu verschieben

  3. Antivirus unter Linux:Sollte ich es wirklich verwenden und wenn ja, wann brauche ich es?

  4. Befehl Grep und Locate verwenden?

  5. So starten Sie einen systemd-Dienst nach der Benutzeranmeldung und stoppen ihn vor der Benutzerabmeldung

Was ist ein Chroot-Gefängnis und wie wird es verwendet?

So installieren und verwenden Sie Helm in Kubernetes

Wie installiere und verwende ich den Linux-Bildschirm?

So installieren und verwenden Sie PuTTY unter Linux

Linux hat eine neue Authentifizierungs-App, die für jedermann einfach zu bedienen ist

Erstellen Sie einen neuen vsftpd-Benutzer und sperren Sie ihn auf das Home-/Login-Verzeichnis (geben Sie es an).