13.6. Modifier des comptes

Il existe une variété de différentes commandes disponibles dans l'environnement UNIX® pour manipuler les comptes utilisateur. Les commandes les plus communes sont récapitulées ci-dessous, suivis par des exemples détaillés de leur utilisation.

Commande Résumé
adduser(8) L'application en ligne de commande recommandée pour ajouter de nouveaux utilisateurs.
rmuser(8) L'application en ligne de commande recommandée pour supprimer des utilisateurs.
chpass(1) Un outil flexible pour modifier les informations de la base de données utilisateur.
passwd(1) L'outil simple en ligne de commande pour changer les mots de passe utilisateur.
pw(8) Un puissant et flexible outil pour modifier tous les aspects des comptes utilisateurs.

13.6.1. adduser

adduser(8) est un programme simple pour ajouter de nouveaux utilisateurs. Il crée les entrées dans les fichiers système passwd et group. Il crée également le répertoire utilisateur pour le nouvel utilisateur, y copie les fichiers de configuration par défaut (“dotfiles”) à partir de /usr/share/skel, et peut éventuellement envoyer à l'utilisateur un courrier électronique de bienvenue.

Exemple 13-1. Ajouter un utilisateur sous 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!
#

Note : Le mot de passe que vous tapez n'apparaît pas à l'écran, et il n'y a pas non plus d'astérisques affichés. Assurez-vous de ne pas vous tromper dans le mot de passe.

13.6.2. rmuser

Vous pouvez utiliser rmuser(8) pour supprimer complètement un utilisateur du système. rmuser(8) effectue les opérations suivantes:

  1. Supprime les entrées appartenant à l'utilisateur de la crontab(1) (s'il y en a).

  2. Supprime les tâches at(1) appartenant à l'utilisateur.

  3. Tue tous les processus appartenant à l'utilisateur.

  4. Supprime l'utilisateur du fichier de mots de passe local.

  5. Supprime le répertoire l'utilisateur (s'il lui appartient).

  6. Supprime les courriers électroniques en attente pour l'utilisateur dans /var/mail.

  7. Supprime tous les fichiers temporaires appartenant à l'utilisateur des zones de stockages temporaires comme /tmp.

  8. Et enfin, supprime l'utilisateur de tous les groupes auxquels il appartient dans /etc/group.

    Note : Si un groupe est vide de ce fait et que le nom du groupe est le même que celui de l'utilisateur, le groupe est supprimé; c'est la réciproque de la création par adduser(8) d'un groupe propre pour chaque utilisateur.

rmuser(8) ne peut pas être employé pour supprimer des comptes super-utilisateur, car cela entraînerait presque toujours des destructions massives.

Par défaut, la commande travaille en mode interactif, pour garantir que vous soyez sûr de ce que vous faites.

Exemple 13-2. Suppression interactive de compte avec 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) modifie les informations de la base de données des utilisateurs comme les mots de passe, les interpréteurs de commandes, et les informations personnelles.

Seuls les administrateurs système, comme le super-utilisateur, peuvent modifier les informations concernant les autres utilisateurs et les mots de passe à l'aide de chpass(1).

Utilisé sans options, en dehors du nom facultatif de l'utilisateur, chpass(1) ouvre un éditeur affichant les informations de l'utilisateur. Quand l'utilisateur quitte l'éditeur, la base de données utilisateur est mise à jour avec les nouvelles informations.

Note : On vous demandera votre mot de passe en quittant l'éditeur si vous n'êtes pas le super-utilisateur.

Exemple 13-3. chpass interactif par le super-utilisateur

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

Un utilisateur ordinaire ne peut modifier qu'une partie de ces informations, et seulement celles qui le concernent.

Exemple 13-4. chpass interactif par un utilisateur ordinaire

#Changing user database information for jru.
Shell: /usr/local/bin/zsh
Full Name: J. Random User
Office Location:
Office Phone:
Home Phone:
Other information:

Note : chfn(1) et chsh(1) sont juste des liens vers chpass(1), comme le sont ypchpass(1), ypchfn(1), et ypchsh(1). NIS est supporté automatiquement, aussi spécifier yp avant la commande n'est pas nécessaire. Si cela vous semble confus, ne vous inquiétez pas, NIS sera abordé dans le chapitre Chapitre 28.

13.6.4. passwd

passwd(1) est la méthode habituelle pour modifier son mot de passe, ou celui d'un autre utilisateur si vous êtes le super-utilisateur.

Note : Pour prévenir des modifications accidentelles ou non autorisées, le mot de passe original doit être entré avant de pouvoir fixer un nouveau mot de passe.

Exemple 13-5. Modifier votre mot de passe

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

Exemple 13-6. Modifier le mot de passe d'un autre utilisateur en tant que super-utilisateur

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

Note : Comme pour chpass(1), yppasswd(1) est juste un lien vers passwd(1), donc NIS fonctionnera avec l'une des deux commandes.

13.6.5. pw

pw(8) est un utilitaire en ligne de commande pour créer, supprimer, modifier, et lister utilisateurs et groupes. Il fonctionne comme une interface aux fichiers d'utilisateurs et de groupe. pw(8) possède un ensemble puissant d'options qui le rende adapté à une utilisation dans des procédures, mais les nouveaux utilisateurs pourront le trouver plus compliqué que les autres commandes présentées ici.

Ce document, ainsi que d'autres peut être téléchargé sur ftp.FreeBSD.org/pub/FreeBSD/doc/.

Pour toutes questions à propos de FreeBSD, lisez la documentation avant de contacter <questions@FreeBSD.org>.
Pour les questions sur cette documentation, contactez <doc@FreeBSD.org>.