FreeBSD handboek
Terug | Hoofdstuk 14. Gebruikers en basis accountbeheer | Volgende

# 14.6. Accounts wijzigen

Er zijn vele commando's beschikbaar in de UNIX® omgeving om gebruikersaccounts te manipuleren. De meest gebruikte commando's worden hieronder beschreven, gevolgd door meer gedetailleerde voorbeelden van gebruik.

Commando | Samenvatting
--- | ---
adduser(8) | Het aanbevolen commandoregelprogramma voor het aanmaken van nieuwe gebruikers.
rmuser(8) | Het aanbevolen commandoregelprogramma voor het verwijderen van gebruikers.
chpass(1) | Een flexibel hulpprogramma voor het wijzigen van informatie in de gebruikersdatabase.
passwd(1) | Een eenvoudig commandoregelprogramma voor het wijzigen van wachtwoorden van gebruikers.
pw(8) | Een krachtig en flexibel hulpprogramma voor het wijzigen van alle aspecten van gebruikersaccounts.

## 14.6.1. `adduser`

adduser(8) is een eenvoudig programma voor het aanmaken van nieuwe gebruikers. Er worden regels mee toegevoegd aan de systeembestanden `passwd` en `group`. Het maakt ook een thuismap voor de nieuwe gebruiker, kopieert de standaard instellingenbestanden (dotfiles) uit `/usr/share/skel` en kan, optioneel, de nieuwe gebruiker een welkomstbericht mailen.

Voorbeeld 14-1. Een gebruiker toevoegen aan 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]:
    Home directory permissions (Leave empty for default):
    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!
    #

> Opmerking: Het wachtwoord wat ingegeven wordt, wordt niet getoond, er worden ook geen sterretjes getoond. Zorg ervoor dat het wachtwoord correct ingevuld wordt.

## 14.6.2. `rmuser`

Met rmuser(8) kan een gebruiker volledig van een systeem verwijderd worden. rmuser(8) voert de volgende stappen uit:

1. Verwijdert de crontab(1) van de gebruiker (als die bestaat).

2. Verwijdert bestaande at(1) taken van de gebruiker.

3. Stopt alle processen van de gebruiker.

4. Verwijdert de gebruiker uit het lokale wachtwoordbestand van een systeem.

5. Verwijdert de thuismap van de gebruiker (als de gebruiker daar eigenaar van is).

6. Verwijdert de inkomende email voor de gebruiker uit `/var/mail`.

7. Verwijdert alle bestanden waar de gebruiker eigenaar van is uit opslaggebieden voor tijdelijke bestanden als `/tmp`.

8. Als laatste wordt de gebruikersnaam uit alle groepen in `/etc/group` waar die lid van was verwijderd.

   > Opmerking: Als een groep leeg raakt en de groepsnaam is hetzelfde als de gebruikersnaam, dan wordt de groep verwijderd. Dit is het tegenovergestelde van wat adduser(8) met een unieke groep per gebruiker.

rmuser(8) kan niet gebruikt worden om superuser accounts te verwijderen, omdat dat vrijwel altijd leidt tot vreselijke verwoesting.

Standaard wordt een interactieve modus gebruikt, die ervoor zorgt dat alle stappen bewust worden genomen.

Voorbeeld 14-2. Interactief accounts verwijderen met `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.
    #

## 14.6.3. `chpass`

chpass(1) wijzigt informatie in de gebruikersdatabase, zoals wachtwoorden, shells en persoonlijke informatie.

Alleen systeembeheerders, zoals de Superuser, mogen de informatie en wachtwoorden voor andere gebruikers wijzigen met chpass(1).

Als er geen opties worden meegegeven, buiten de optionele gebruikersnaam, dan toont chpass(1) een editor waarin de gebruikersinformatie wordt weergegeven. Als de gebruiker de editor verlaat, dan wordt de gebruikersdatabase bijgewerkt met de nieuwe informatie.

> Opmerking: Er zal om uw wachtwoord gevraagd worden na het verlaten van de tekstverwerker, als de huidige gebruiker niet de superuser is.

Voorbeeld 14-3. Interactieve `chpass` door superuser

    #Informatie in de gebruikersdatabase wijzigen voor 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:

Een normale gebruiker kan slechts een deel van de bovenstaande informatie wijzen en alleen voor zijn eigen account.

Voorbeeld 14-4. Interactieve `chpass` door een gewone gebruiker

    #Informatie in de gebruikersdatabase wijzigen voor jru.
    Shell: /usr/local/bin/zsh
    Full Name: J. Random User
    Office Location:
    Office Phone:
    Home Phone:
    Other information:

> Opmerking: chfn(1) en chsh(1) zijn gewoon links naar chpass(1). Dat geldt ook voor ypchpass(1), ypchfn(1) en ypchsh(1). Ondersteuning voor NIS gaat automatisch; er hoeft dus geen `yp` voor het commando aangegeven te worden. NIS wordt behandeld in Hoofdstuk 30.

## 14.6.4. `passwd`

Met passwd(1) wijzigt een gebruiker gewoonlijk zijn eigen wachtwoord of dat van een andere gebruiker als het door de Superuser wordt uitgevoerd.

> Opmerking: Om onbedoelde of ongeautoriseerde wijzigen te voorkomen moet het originele wachtwoord worden ingegeven voordat een nieuw wachtwoord kan worden ingesteld.

Voorbeeld 14-5. Wachtwoord wijzigen

    % passwd
    Changing local password for jru.
    Old password:
    New password:
    Retype new password:
    passwd: updating the database...
    passwd: done

Voorbeeld 14-6. Als superuser het wachtwoord van een andere gebruiker wijzigen

    # passwd jru
    Changing local password for jru.
    New password:
    Retype new password:
    passwd: updating the database...
    passwd: done

> Opmerking: Net als bij chpass(1) is yppasswd(1) gewoon een link naar passwd(1), dus NIS werkt met beide commando's.

## 14.6.5. `pw`

pw(8) is een commandoregelhulpprogramma om gebruikers en groepen te maken, verwijderen, aan te passen en weer te geven. Het werkt als een voorkant voor de systeembestanden met gebruikers en groepen. pw(8) heeft een zeer krachtige set commandoregelopties, waardoor het erg geschikt is om in shell scripts gebruikt te worden. Nieuwe gebruikers vinden het wellicht gecompliceerder dan de andere commando's die hier beschreven worden.

Terug | Begin | Volgende
Gebruikersaccounts | Omhoog | Gebruikers beperken