So lassen Sie su sofort ausführen, nachdem ich den Benutzer der entsprechenden Gruppe hinzugefügt habe

8

Ich habe die suausfü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 wheelGruppe 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 wheelGruppe 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 suich die Ausführung sofort zulassen, nachdem ich den Benutzer der entsprechenden Gruppe hinzugefügt habe?

user4035
quelle
1
Josephs newgrpAntwort 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 haben newgrpund welche nicht. Es kann einfacher / einfacher sein, sich einfach abzumelden und erneut anzumelden.
Cas

Antworten:

8

Lassen Sie den Benutzer einfach ausführen

newgrp wheel

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 Sie

exec newgrp wheel

stattdessen.

Dies liegt daran, dass dem Kernel immer noch die vorherige Gruppe zugeordnet ist, die den aktuell ausgeführten Prozessen zugeordnet ist.

Joseph R.
quelle
Wie kann ich im grafischen Terminalemulator arbeiten? Wenn ich newgrp wheelals Benutzer ausgeführt werde, werden Sie nach einem Kennwort gefragt. Selbst wenn ich root Passwort
gebe
@ user4035 Sprechen wir zufällig über eine Netzwerkumgebung mit einem Authentifizierungsmechanismus wie NIS / LDAP? In diesem Fall wurden die neuen Gruppenzuordnungen möglicherweise noch nicht ordnungsgemäß auf die Client-Computer übertragen.
Joseph R.
Nein, es ist meine lokale Maschine. Ich melde mich als Benutzer an, starte dann X Session, starte dann ein Terminal und starte sudort, 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 nicht
user4035
@ user4035 Laut Manpage ist dies das Passwort des Benutzers - nicht das Passwort für root. Dies ist logisch, da dies im Grunde dasselbe ist wie ein neuer Login.
Nils
2
Beachten Sie, dass diese Antwort ungenau ist, da newgrp 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.
Jakub Klinkovský