Ich habe die su
ausführbare Datei mit den folgenden Berechtigungen:
bash-4.2# ls -la /bin/su
-rws--s--- 1 root wheel 59930 Sep 14 2012 ./su
Wenn ich als Benutzer und nicht in der wheel
Gruppe angemeldet bin und versuche auszuführen su
, wird eine Fehlermeldung angezeigt, die korrekt ist:
bash-4.2$ su
bash: /bin/su: Permission denied
Danach füge ich diesen Benutzer der wheel
Gruppe hinzu von root
:
bash-4.2# usermod -a -G wheel user
Aber für dieselbe Terminalsitzung kann ich immer noch nicht ausführen su
:
bash-4.2$ su
bash: /bin/su: Permission denied
Für die neuen Sitzungen kann ich laufen su
. Wie kann su
ich die Ausführung sofort zulassen, nachdem ich den Benutzer der entsprechenden Gruppe hinzugefügt habe?
permissions
su
user4035
quelle
quelle
newgrp
Antwort ist richtig - aber sie gilt NUR für die Shell, in der Sie sie ausführen. Wenn also mehrere Shells ausgeführt werden, können Sie leicht vergessen, welche Sie ausgeführt habennewgrp
und welche nicht. Es kann einfacher / einfacher sein, sich einfach abzumelden und erneut anzumelden.Antworten:
Lassen Sie den Benutzer einfach ausführen
Dadurch wird eine neue Shell gestartet, deren Gruppen-ID in die von geändert wurde
wheel
. Wenn Sie eine neue Shell starten und die vorherige beenden möchten, verwenden Siestattdessen.
Dies liegt daran, dass dem Kernel immer noch die vorherige Gruppe zugeordnet ist, die den aktuell ausgeführten Prozessen zugeordnet ist.
quelle
newgrp wheel
als Benutzer ausgeführt werde, werden Sie nach einem Kennwort gefragt. Selbst wenn ich root Passwortsu
dort, um zu root zu wechseln. Ich habe versucht, "newgrp Wheel" auszuführen, aber es fragt nach einem Passwort:bash-4.2$ newgrp wheel Password:
Root-Passwort funktioniert nichtnewgrp wheel
"Benutzer zur Radgruppe hinzufügen" nicht wirksam wird. Dies hat zur Folge, dass sich die primäre GID des Benutzers geändert hat, was sich grundlegend unterscheidet - z. B. haben neu erstellte Dateien die neue GID.