(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
webdev
zu 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"
(
sg
ist wiesu
aber für Gruppen, und es sollte ohne das Gruppenpasswort funktionieren, wenn Sie als Mitglied der Gruppe in den Systemdaten aufgeführt sind)