W środowisku systemów UNIX® dostępnych jest szeroka gama różnorodnych poleceń do manipulacji kontami użytkowników. Najczęściej wykorzystywane zostały omówione poniżej, wraz z przykładami zastosowania.
Polecenie | Opis |
---|---|
adduser(8) | Zalecane pogram wiersza poleceńdo dodawania nowych użytkowników. |
rmuser(8) | Zalecany program wiersza poleceń do usuwania użytkowników. |
chpass(1) | Elastyczne narzędzie do zmiany informacji w bazie danych użytkowników. |
passwd(1) | Proste polecenie wiersza poleceń do zmiany haseł użytkowników. |
pw(8) | Potężne i elastyczne narzędzie do zmiany wszystkich parametrów kont użytkowników. |
adduser(8) jest prostym programem służącym do dodawania nowych użytkowników. Tworzy ono odpowiednie wpisy w plikach systemowych passwd i group, tworzy katalog macierzysty nowego użytkownika oraz kopiuje z /usr/share/skel domyślne pliki konfiguracyjne (“dotfiles”). Potrafi również wysłać nowemu użytkownikowi wiadomość powitalną.
Notatka: Przy wprowadzaniu hasła na ekranie nie są wyświetlane żadne znaki, nawet gwiazdki. Dlatego właśnie w tym momencie należy zwrócić szczególną uwagę, by się nie pomylić.
Przykład 13-1. Dodawanie użytkownika we FreeBSD
# adduser Username: jru Full name: J. Random User Uid (Leave empty for default): Login group [jru]: Login group is jru. Invite jru into other groups? []: wheel Login class [default]: Shell (sh csh tcsh zsh nologin) [sh]: zsh Home directory [/home/jru]: Use password-based authentication? [yes]: Use an empty password? (yes/no) [no]: Use a random password? (yes/no) [no]: Enter password: Enter password again: Lock out the account after creation? [no]: Username : jru Password : **** Full Name : J. Random User Uid : 1001 Class : Groups : jru wheel Home : /home/jru Shell : /usr/local/bin/zsh Locked : no OK? (yes/no): yes adduser: INFO: Successfully added (jru) to the user database. Add another user? (yes/no): no Goodbye! #
By całkowicie usunąć użytkownika z systemu, możemy skorzystać z rmuser(8). Narzędzie te wykonuje następujące czynności:
Usuwa wpisy użytkownika w crontab(1) (jeśli jakieś są).
Usuwa wszystkie prace at(1) należące do użytkownika.
Niszczy wszystkie procesy użytkownika.
Usuwa użytkownika z lokalnego pliku haseł w systemie.
Usuwa katalog macierzysty użytkownika (jeśli jego właścicielem jest dany użytkownik).
Usuwa pocztę należącą do użytkownika z /var/mail.
Usuwa wszystkie pliki z systemów tymczasowych, np. /tmp, których właścicielem jest użytkownik.
Ostatecznie, usuwa użytkownika z wszystkich grup w /etc/group, do których należy.
Notatka: Jeśli po usunięciu użytkownika grupa pozostanie pusta a nazwa tej grupy jest taka sama jak nazwa użytkownika, grupa jest również usuwana; dotyczy to przede wszystkim grup użytkowników stworzonych przez adduser(8).
Nie można wykorzystać rmuser(8) do usunięcia konta superużytkownika, gdyż prawie zawsze wskazuje to na masową destrukcję.
Domyślnie wykorzystywany jest tryb interaktywny, który stara upewnić się, że wiemy co robimy.
Przykład 13-2. Tryb interaktywny rmuser
# rmuser jru Matching password entry: jru:*:1001:1001::0:0:J. Random User:/home/jru:/usr/local/bin/zsh Is this the entry you wish to remove? y Remove user's home directory (/home/jru)? y Updating password file, updating databases, done. Updating group file: trusted (removing group jru -- personal group is empty) done. Removing user's incoming mail file /var/mail/jru: done. Removing files belonging to jru from /tmp: done. Removing files belonging to jru from /var/tmp: done. Removing files belonging to jru from /var/tmp/vi.recover: done. #
chpass(1) zmienia w bazie danych użytkowników parametry konta, jak np. hasło, powłokę czy inne szczegółowe informacje.
Jedynie administrator systemu, jako superużytkownik, może zmieniać parametry kont i hasła innych użytkowników za pomocą chpass(1).
Jeśli nie podamy żadnych opcji bądź jedynie nazwę użytkownika, chpass(1) uruchomi edytor informacji o użytkowniku. Po wyjściu z edytora, baza danych użytkowników zostanie aktualizowana.
Notatka: Jeśli nie jesteśmy superużytkownikiem, przed opuszczeniem edytora zostaniemy zapytani o hasło.
Przykład 13-3. Tryb interaktywny chpass superużytkownika
#Changing user database information for jru. Login: jru Password: * Uid [#]: 1001 Gid [# or name]: 1001 Change [month day year]: Expire [month day year]: Class: Home directory: /home/jru Shell: /usr/local/bin/zsh Full Name: J. Random User Office Location: Office Phone: Home Phone: Other information:
Zwykli użytkownicy mogą zmienić jedynie część tych informacji i jedynie własnych kont.
Przykład 13-4. Tryb interaktywny chpass zwykłego użytkownika
#Changing user database information for jru. Shell: /usr/local/bin/zsh Full Name: J. Random User Office Location: Office Phone: Home Phone: Other information:
Notatka: chfn(1) i chsh(1) są jedynie dowiązaniami do chpass(1), podobnie jak ypchpass(1), ypchfn(1) i ypchsh(1). Obsługa NIS jest automatyczna, tak więc dopisywanie yp przed poleceniem nie jest potrzebne. Jeśli jest to dla nas niezrozumiałe, nie martwmy się, Rozdział 25 opisuje NIS szczegółowo.
Użycie polecenia passwd(1) jest typowym sposobem zmiany własnego hasła, bądź hasła innego użytkownika jako superużytkownik.
Notatka: By uniknąć przypadkowych bądź nieuprawnionych zmian, nim będziemy mogli podać nowe hasło, musimy wpierw wpisać dotychczasowe.
Przykład 13-5. Zmiana własnego hasła
% passwd Changing local password for jru. Old password: New password: Retype new password: passwd: updating the database... passwd: done
Przykład 13-6. Zmiana hasła innego użytkownika jako superużytkownik
# passwd jru Changing local password for jru. New password: Retype new password: passwd: updating the database... passwd: done
Notatka: Podobnie jak w przypadku chpass(1), yppasswd(1) jest jedynie dowiązaniem do passwd(1). Tak więc NIS działa poprawnie z obydwoma poleceniami.
pw(8) jest programem wiersza poleceń służącym do tworzenia, usuwania, modyfikowania i wyświetlania użytkowników i grup. Działa jako pośrednik do systemowych plików użytkowników i grup. pw(8) dysponuje bardzo potężnym zestawem opcji, które umożliwiają wykorzystanie go w skryptach powłoki. Jednakże, nowym użytkownikom może wydać się zbyt skomplikowany w porównaniu z innymi przedstawionych tu poleceniami.
Poprzedni | Spis treści | Następny |
Konta użytkowników | Początek rozdziału | Ograniczanie użytkowników |
Ten i inne dokumenty można pobrać z ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
W przypadku pytań o FreeBSD prosimy przeczytać dostępną dokumentację przed kontaktem z <questions@FreeBSD.org>.
W sprawie zapytań o tę dokumentację prosimy o kontakt z <doc@FreeBSD.org>.