(8 Antworten)
Vor 3 Jahren geschlossen.
Angenommen, ich bin mit dem Benutzer takpar angemeldet :
[email protected]:/$
Als root habe ich takpar hinzugefügt als Mitglied der Gruppe webdev mit:
# usermod -a -G webdev takpar
Aber es scheint, dass es nicht angewendet wurde, weil ich zum Beispiel nicht in ein webdev gelangen kann ’s-Verzeichnis mit Leseberechtigung für die Gruppe:
400169 drwxr-x--- 3 webdev webdev 4.0K 2011-08-15 22:34 public_html
[email protected]:/home/webdev/$ cd public_html/
bash: cd: public_html/: Permission denied
Aber nach einem Neustart habe ich wie erwartet Zugriff. Da diese Art der Gruppenänderung in meiner Routine ist, gibt es eine Möglichkeit, Änderungen anzuwenden, ohne dass ein Neustart erforderlich ist?
Antwort
Es scheint, dass es keine Möglichkeit gibt, der aktuellen Sitzung die neue Gruppe mitzuteilen, zum Beispiel funktioniert der Dateimanager nicht mit neuen Änderungen. Aber ein Re-Login wird den Job erledigen.
Der su Der Befehl ist auch für temporäre Befehle in der aktuellen Sitzung geeignet.
Akzeptierte Antwort:
Lokale Lösung:Verwenden Sie su yourself erneut anzumelden. In der neuen Sitzung werden Sie als Mitglied der Gruppe betrachtet.
Handbuchseiten für newgrp und sg könnte auch von Interesse sein, Ihre aktuelle Gruppen-ID zu ändern (und sich bei einer neuen Gruppe anzumelden):
-
Um
webdevzu verwenden ’s-Gruppen-ID (und Berechtigungen) in Ihrer aktuellen Shell-Verwendung:newgrp webdev -
Um einen Befehl mit einer Gruppen-ID zu starten (und die aktuellen Berechtigungen in Ihrer Shell beizubehalten), verwenden Sie:
sg webdev -c "command"(
sgist wiesuaber für Gruppen, und es sollte ohne das Gruppenpasswort funktionieren, wenn Sie als Mitglied der Gruppe in den Systemdaten aufgeführt sind)