(8 odpovědí)
Uzavřeno před 3 lety.
Předpokládejme, že jsem přihlášen jako uživatel takpar
:
[email protected]:/$
Jako root jsem přidal takpar
jako člen skupiny webdev
pomocí:
# usermod -a -G webdev takpar
Zdá se však, že to nebylo použito, protože se například nemohu dostat do webdev
's adresář, který má oprávnění ke čtení pro skupinu:
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
Ale po restartu mám přístup, jak očekávám. Vzhledem k tomu, že tento druh změny skupiny je v mé rutině, existuje nějaký způsob, jak aplikovat změny bez nutnosti restartu?
Odpověď
Zdá se, že neexistuje způsob, jak sdělit aktuální relaci novou skupinu, například správce souborů nebude pracovat s novými změnami. Ale opětovné přihlášení udělá svou práci.
su
příkaz je také vhodný pro dočasné příkazy v aktuální relaci.
Přijatá odpověď:
Místní řešení:použijte su yourself
pro opětovné přihlášení. V nové relaci budete považováni za člena skupiny.
Manuálové stránky pro newgrp
a sg
může být také zajímavé změnit aktuální ID skupiny (a přihlásit se do nové skupiny):
-
Chcete-li použít
webdev
ID skupiny (a oprávnění) ve vašem aktuálním použití shellu:newgrp webdev
-
Chcete-li spustit příkaz s určitým ID skupiny (a zachovat aktuální oprávnění ve vašem prostředí), použijte:
sg webdev -c "command"
(
sg
je jakosu
ale pro skupiny a mělo by to fungovat bez hesla skupiny, pokud jste uvedeni jako člen skupiny v datech systému)