Jak zmienić grupę podstawową

11

Chcę usunąć użytkownika pserverz grupy apache.

#deluser pserver apache
/usr/sbin/deluser: You may not remove the user from their primary group.

Teraz chcę dodać nową grupę podstawową, więc uruchomiłem następujące;

#usermod -G pserver pserver

Które zwróciło następujące:

pserver` is now in group `pserver

#groups pserver
pserver : apache pserver

Teraz chcę ponownie usunąć użytkownika z grupowego apache, ale znowu pojawia się ten sam błąd. Jak mogę usunąć pserverz grupy podstawowej apache?

OrangeTux
źródło

Odpowiedzi:

18

usermodOpcja -Gdodaje dodatkowych grup. Chcesz -gzmienić grupę podstawową. Tj. Twoim poleceniem powinno być:

# usermod -g pserver pserver

Uwaga: spowoduje to również zmianę własności grupowej plików w katalogu domowym, ale nie w innym miejscu.

Mówiąc bardziej ogólnie, składnia zmiany użytkownika „użytkownik” na grupę podstawową „grupa” jest następująca:

# usermod -g group user
StarNamer
źródło
Nie jest jasne w tym poleceniu, kto jest użytkownikiem, a która grupą, ponieważ w tych wyjątkowych okolicznościach oba są identyczne, ale często tak nie będzie.
Kzqai,
Tekst zaktualizowano w celu odpowiedzi na powyższy komentarz
StarNamer
1

Pytanie postawione przez PO jest mylące. Tytuł brzmi „Jak zmienić grupę podstawową”, jednak w treści pytania jasne jest, że nie chodzi tylko o zastąpienie grupy podstawowej, ale także usunięcie poprzedniej grupy podstawowej.

W przypadku, gdy ktoś chce po prostu zastąpić element podstawowy, ale nie usunąć go z listy, wystarczy po prostu dodać poprzedni element podstawowy z powrotem do listy.

Tak więc, po wykonaniu StarNamer dydaktycznego słupek , jeden tylko musi zrobić

adduser user previous-primary-group

ponieważ polecenie usermod wyrzuci poprzednią grupę podstawową z listy grup, do których należysz.

zerzevul
źródło