Gestion des utilisateurs

Qui est utilisateur ?

Le système, dès son installation, avant même la première connexion au système a créé des users système.
Un utilisateur n'est donc pas uniquement une personne physique, le système a besoin d'utilisateurs pour sa gestion interne, notamment comme propriétaire des divers processus.
La commande ps aux | less montre qu'avant toute connexion d'utilisateur humain (repérée par les lignes login --user), root a lancé init, et la plupart des services, crond, inetd, lpd, smbd, ... , avant de lancer les connexions utilisateurs dans les consoles, y compris éventuellement la sienne !

Les principales commandes

useradd, usermod, userdel gestion des comptes utilisateur
groupadd, groupmod, groupdel gestion des groupes
pwck, grpck vérification des fichiers
passwd changer le mot de passe d'un utilisateur
chfn, id, groups, finger utilitaires divers

Gestion des comptes

  • Créer un compte pour un nouvel utilisateur

    Cela signifie lui permettre d'être connu du poste local, s'y loguer, avoir un accès complet sur son rép. personnel.
    Mais aussi dans une configuration réseau, de pouvoir se connecter à son compte par telnet et ftp, et de pouvoir bénéficier de services réseau de partage distant (sous Linux par NFS et sous Windows 9x par SMB).

  • Pour créer l'utilisateur stagex, root passe la commande :
    useradd stagex
    Ceci crée :
    • le répertoire personnel /home/stagex, portant par défaut le nom du compte
    • une nouvelle entrée dans les 2 fichiers fondamentaux /etc/passwd et /etc/group.
    • Pour connaitre les options de useradd (indispensable pour gérer les comptes à l'aide de scripts)

  • Pour lui attribuer le mot de passe :
    passwd stagex
    saisir 2 fois stgx

  • Supprimer le compte d'un utilisateur (non connecté), au hasard .. totox.
    userdel [-r] totox
    L'option -r supprime aussi le rép. personnel et les fichiers de l'utilisateur
    La commande supprime toute trace de l'utilisateur dans le fichier de configuration : /etc/passwd y compris dans les groupes d'utiliseurs.

  • Modifier le compte de l'utilisateur toto
    usermod [options] totox
    Les options sont les mêmes que useradd
    usermod -G stagiaire,prof stagex ajoute stagex dans les 2 groupes stagiaire et profs (qui doivent exister)


Manipulations
Sous l'identité de root
  1. Créer quelques utilisateurs stagey et totox
  2. Effectuer des vérifications : possibilité immédiate de se loguer sous ces comptes, création de leur rép. personnel dans /home.
  3. Essayer de créer un compte déjà existant.
  4. Supprimer sans regret le compte de totox. Son rép. personnel a t-il été supprimé ?

Remarques

  • Attention : si root passe la commande passwd il s'apprête à redéfinir son propre mot de passe !
  • Un utilisateur quelconque ne peut pas créer de compte, même s'il a le privilège de faire partie du groupe root. A tester !
  • Par contre, il peut modifier lui-même son mot de passe.
  • Voir les diverses options avec useradd -h
  • Pour une gestion sous interface graphique, voir le chapitre sur le nouvel outil linuxconf
  • Attention ! Le compte créé permet à l'utilisateur d'accéder au système de fichier Linux (avec des droits que nous verrons). Pour pouvoir se connecter au réseau SAMBA, à partir d'une station distante Windows9x, il faut créer un compte Samba avec l'utilitaire smbpasswd (voir le chapitre serveur Samba).
    A noter que linuxconf semble créer automatiquement les comptes Linux et Samba conjointement (voir plus loin).


Les groupes

  • Un groupe est, aussi pour Linux, un ensemble d'utilisateurs qui partagent les mêmes fichers et répertoires. Nous verrons que les fichiers accordent des droits d'accès réglables à ces groupes.

  • Chaque utilisateur doit faire partie au moins d'un groupe, son groupe primaire. Celui-ci est défini au moment de la création du compte, et par défaut, l'utilisateur appartient à un nouveau groupe créé, portant son nom.

  • Ainsi, dans /etc/passwd chaque utilisateur possède un groupe par défaut, précisé par son identifiant gid dans ce fichier.

  • L'appartenance au groupe primaire n'étant pas exclusive, tout utilisateur peut faire partie de plusieurs autres groupes, appelés ses groupes secondaires.
    Mais le rôle joué par le groupe primaire demeure prépondérant, comme nous le verrons dans le système des permissions des fichiers.

  • Pour lister tous les groupes (primaire et secondaires) d'un utilisateur :
    groups stagex

  • Pour créer un nouveau groupe
    groupadd stagiaire

  • Supprimer un groupe, au hasard .. encore totox.
    groupdel totox
    Le groupe est supprimé du fichier /etc/group.

  • Pour ajouter un utilisateur à un groupe
    Le plus simple est d'éditer le fichier /etc/group et d'ajouter une liste d'utilisateurs (séparés par des virgules) sur la ligne du groupe (ou utiliser Linuxconf).


Manipulations
Il s'agit de créer un groupe nommé stagiaire dont les membres sont les comptes stagex.
On donnera ensuite à ce groupe des droits complets sur un répertoire partagé.
Comme root :
  1. créer le groupe stagiaire :
    groupadd stagiaire
  2. ajouter quelques comptes stagex dans ce groupe
  3. vérifier le résultat avec la commande groups

Visite des coulisses

Structure de /etc/passwd

Ce fichier comprend 7 champs, séparés par le symbole :
  1. nom de connexion
  2. ancienne place du mot de passe crypté
  3. numéro d'utilisateur uid, sa valeur est le véritable identifiant pour le système Linux; l'uid de root est 0, le système attribut conventionnellement un uid à partir de 500 aux comptes créés.
  4. numéro de groupe gid, dans lequel se touve l'utilisateur par défaut; le gid de root est 0, des groupes d'utilisateurs au delà de 500
  5. nom complet, il peut être suivi d'une liste de renseignements personnels (cf chfn)
  6. rép. personnel (c'est également le rép. de connexion)
  7. shell, interprétateur de commandes (par défaut /bin/bash)

Structure de /etc/group

Ce fichier comprend 4 champs, séparés par le symbole :
  1. nom du groupe
  2. x pour remplacer un mot de passe non attribué maintenant
  3. numéro de groupe, c-à-d l'identifiant gid
  4. la liste des membres du groupe


Manipulations
Editer ces fichiers (utiliser l'utilitaire mc, sélectionner et éditer avec F3)
Examiner les lignes correspondant aux comptes créés : où se trouvent les rép. personnels ? quel est leur groupe par défaut ?


Outils de gestion des comptes

Linuxconf

Se connecter comme root et lancer linuxconf en ligne de commande (on pourrait utiliser linuxconf sous X-KDE)
Section Comptes utilisateurs

Kuser


Compléments