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ą.
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ć.
#
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.
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.
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.
Jeśli nie jesteśmy superużytkownikiem, przed opuszczeniem edytora zostaniemy zapytani o hasło.
chpass
superużytkownikaZwykli użytkownicy mogą zmienić jedynie część tych informacji i jedynie własnych kont.
chpass
zwykłego użytkownikachfn(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, Network Servers 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.
By uniknąć przypadkowych bądź nieuprawnionych zmian, nim będziemy mogli podać nowe hasło, musimy wpierw wpisać dotychczasowe.
%
passwd
Changing local password for jru.
Old password:
New password:
Retype new password:
passwd: updating the database...
passwd: done#
passwd jru
Changing local password for jru.
New password:
Retype new password:
passwd: updating the database...
passwd: donePodobnie 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.
This, and other documents, can be downloaded from http://ftp.FreeBSD.org/pub/FreeBSD/doc/
For questions about FreeBSD, read the
documentation before
contacting <questions@FreeBSD.org>.
For questions about this documentation, e-mail <doc@FreeBSD.org>.