Będąc nowym administratorem Linuksa, jestem trochę zdezorientowany następującymi poleceniami:
useradd
usermod
groupadd
groupmod
Właśnie skończyłem czytać książkę administracyjną użytkownika w podręczniku administratora Linux / Unix, ale niektóre rzeczy są nadal trochę mgliste.
Zasadniczo useradd
wydaje się dość prosty:
useradd -c "David Hilbert" -d /home/math/hilbert -g faculty -G famous -m -s /bin/sh hilbert
Mogę dodać „David Hilbert” z nazwą użytkownika hilbert
, ustawiając jego domyślny katalog, powłokę i grupy. I myślę, że -g
to jego podstawowa / domyślna grupa i -G
są to jego inne grupy.
Oto moje następne pytania:
- Czy ta komenda nadal działać, jeśli grupy
faculty
ifamous
nie istnieje? Czy to po prostu je stworzy? - Jeśli nie, jakiego polecenia używam do tworzenia nowych grup?
- Jeśli usunę użytkownika
hilbert
i nie będzie w nim innych użytkowników, czy nadal będą istnieć? Czy powinienem je usunąć? - Po uruchomieniu
useradd
powyższego polecenia, jak usunąć Davida zfamous
grupy i ponownie przypisać jego podstawową grupę, dohilbert
której jeszcze nie istnieje?
usermod -g hilbert hilbert
czy to usunie inne grupy Hilberta? Jeśli tak, jak mam zachować te inne grupy? Jeśli nie, wow, czy usunę go z innych grup?Musisz przeczytać to,
man usermod
co wyjaśnia, co dzieje się z różnymi opcjami:zastąpi twoją grupę logowania z „wydziału” na „hilder”, o ile istnieje grupa „hilder”. Jeśli nie istnieje, najpierw musisz go utworzyć za pomocą groupadd.
Korzystając z
-G
opcji, należy również użyć-a
opcji, aby dołączyć nowe grupy do bieżącej listy grup dodatkowych, do których należy użytkownik „hilder”. Bez tej-a
opcji zastąpisz bieżące grupy dodatkowe nowym zestawem grup. Dlatego używaj tego ostrożnie.źródło
Aby zmienić grupę podstawową użytkownika w systemie Linux:
usermod -g new_group user_name
Aby przetestować zmiany, uruchom
id
i sprawdź wartośćgid=
Jeśli polecenie działa bez błędów, ale gid się nie zmienił, przegapiłeś pogrubioną część kroku 2.
źródło
odpowiedź nr 1 jest dobra, nadal możesz również wydać następujące polecenie, aby dodać nową grupę:
# nano /etc/group
Minusem
/etc/group
bezpośredniej edycji jest to, że będziesz musiał wymyślić nieużywany GID (numer identyfikacyjny grupy).Poniższe pozwoli ci zmienić podstawową grupę użytkownika.
# nano /etc/passwd
Lokalizujesz wiersz użytkownika i zmieniasz GID (numer grupy, sprawdź go
/etc/group
), pamiętaj, że składnia jest następująca:Nie ma minusem mogę myśleć o tego podejścia (pod warunkiem znasz GID), to jest to, co często wykorzystują do użytkowników lokalnych, głównie dlatego, że korzystać z wielu różnych systemów UNIX z różnymi
usermod
,adduser
iuseradd
opcji polecenia.Jest to jednak nieco bardziej ręczne, jednak spełnia swoje zadanie. Pamiętaj, że możesz użyć
vi
isonano
do edycji plików, jeśli wieszvi
.źródło
Aby trwale zmienić podstawową grupę użytkownika, wykonaj:
Lub możesz użyć
newgrp
do małego środowiska i sytuacji tymczasowej.Utwórz nowego użytkownika bob i nową grupę
dodo
.Tak więc w RedHat / Centos mamy UID = (ID_number) bob; GID = (ID_number) bob jako domyślnie grupa podstawowa
Dodaj bob użytkownika do
dodo
grupy:Następnie użyj,
newgrp
aby zmienić własność:Uważaj na swoje konto, aby mieć hasło i być członkiem przyszłej grupy podstawowej. A newgrp otwiera nową powłokę; tak długo, jak użytkownik pozostaje w tej powłoce, podstawowa grupa się nie zmieni. Aby przełączyć grupę podstawową z powrotem na oryginał, możesz opuścić nową powłokę, uruchamiając polecenie exit.
źródło