Podręcznik FreeBSD
Poprzedni | Rozdział 13. Użytkownicy i podstawy zarządzania kontami | Następny

# 13.6. Modyfikacja ustawień kont

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.

## 13.6.1. `adduser`

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!
    #

## 13.6.2. `rmuser`

By całkowicie usunąć użytkownika z systemu, możemy skorzystać z rmuser(8). Narzędzie te wykonuje następujące czynności:

1. Usuwa wpisy użytkownika w crontab(1) (jeśli jakieś są).

2. Usuwa wszystkie prace at(1) należące do użytkownika.

3. Niszczy wszystkie procesy użytkownika.

4. Usuwa użytkownika z lokalnego pliku haseł w systemie.

5. Usuwa katalog macierzysty użytkownika (jeśli jego właścicielem jest dany użytkownik).

6. Usuwa pocztę należącą do użytkownika z `/var/mail`.

7. Usuwa wszystkie pliki z systemów tymczasowych, np. `/tmp`, których właścicielem jest użytkownik.

8. 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.
    #

## 13.6.3. `chpass`

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.

## 13.6.4. `passwd`

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.

## 13.6.5. `pw`

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>.