Dla danego użytkownika w systemie Linux polecenie usermod -s pozwala na
A. przypisanie go do nowej grupy.
B. zmianę jego powłoki systemowej.
C. zmianę jego katalogu domowego.
D. zablokowanie jego konta.
Pytanie z egzaminu CKE, czerwiec 2019 (arkusz EE.08-X-19.06).
Polecenie usermod -s służy do zmiany powłoki logowania użytkownika, czyli programu uruchamianego po zalogowaniu do systemu Linux. W praktyce chodzi np. o zmianę z /bin/sh na /bin/bash, /bin/zsh albo ustawienie powłoki nologin, jeżeli konto ma istnieć, ale nie powinno służyć do normalnego logowania interaktywnego. Typowy przykład to: usermod -s /bin/bash jan. Po takiej operacji wpis użytkownika w pliku /etc/passwd zostaje zmodyfikowany w ostatnim polu, gdzie przechowywana jest ścieżka do powłoki. Z mojego doświadczenia warto zawsze sprawdzić, czy dana powłoka istnieje w systemie i czy jest wpisana w /etc/shells, bo niektóre usługi i narzędzia potrafią to weryfikować. Dobra praktyka administracyjna mówi też, żeby zmiany na kontach użytkowników wykonywać świadomie, najlepiej z uprawnieniami roota lub przez sudo, oraz dokumentować takie modyfikacje. To niby mała rzecz, ale źle ustawiona powłoka może sprawić, że użytkownik nie zaloguje się poprawnie albo dostanie środowisko, którego nie zna.
W poleceniu usermod konkretna opcja ma duże znaczenie, bo samo narzędzie służy do wielu różnych zmian na koncie użytkownika. Łatwo więc pomylić przełączniki, szczególnie gdy wszystkie dotyczą administracji kontami. Opcja -s nie blokuje konta. Do blokowania hasła użytkownika stosuje się najczęściej usermod -L nazwa_użytkownika, ewentualnie zarządza się tym przez passwd -l. Warto zauważyć, że ustawienie powłoki na /usr/sbin/nologin albo /bin/false może ograniczyć logowanie interaktywne, ale to nie jest to samo znaczenie opcji -s jako blokada konta. To jest raczej ustawienie konkretnej powłoki, która odmawia sesji.
Nie chodzi też o przypisanie użytkownika do nowej grupy. Do tego używa się opcji związanych z grupami, na przykład -g dla grupy podstawowej albo -G dla listy grup dodatkowych. Bardzo typowy błąd to zapomnienie o -a przy usermod -aG, bo bez niego można przypadkiem nadpisać istniejące członkostwo w grupach. Moim zdaniem to jedna z tych pułapek, które administrator powinien sobie dobrze zakodować.
Zmiana katalogu domowego również jest inną operacją. Za katalog domowy odpowiada opcja -d, często używana razem z -m, jeśli pliki mają zostać przeniesione do nowej lokalizacji. Katalog domowy i powłoka są co prawda zapisane w tym samym pliku /etc/passwd, ale w innych polach i mają inne znaczenie. usermod -s modyfikuje powłokę systemową użytkownika, czyli program startujący jako jego środowisko pracy po zalogowaniu. Najprościej zapamiętać: s jak shell.
Nie chodzi też o przypisanie użytkownika do nowej grupy. Do tego używa się opcji związanych z grupami, na przykład -g dla grupy podstawowej albo -G dla listy grup dodatkowych. Bardzo typowy błąd to zapomnienie o -a przy usermod -aG, bo bez niego można przypadkiem nadpisać istniejące członkostwo w grupach. Moim zdaniem to jedna z tych pułapek, które administrator powinien sobie dobrze zakodować.
Zmiana katalogu domowego również jest inną operacją. Za katalog domowy odpowiada opcja -d, często używana razem z -m, jeśli pliki mają zostać przeniesione do nowej lokalizacji. Katalog domowy i powłoka są co prawda zapisane w tym samym pliku /etc/passwd, ale w innych polach i mają inne znaczenie. usermod -s modyfikuje powłokę systemową użytkownika, czyli program startujący jako jego środowisko pracy po zalogowaniu. Najprościej zapamiętać: s jak shell.