10 - Les utilisateurs et les groupes

Les utilisateurs

Types de comptes

4 types de comptes existent:

  • root le superutilisateur qui a tous les droits (uid 0).

  • nobody, pour les personnes non authentifiées, a très peu de droits (uid 65534).

  • Les comptes systèmes et d’application qui sont utilisés pour faire fonctionner certaines applications comme les démons (les services) pour pouvoir contrôler aisément leurs droits et limiter les risques encourus dans la cas où ils fonctionneraient avec le compte root et une personne mal intentionnée réussirait à exploiter un faille de sécurité. Cette personne disposerait alors des droits d’administration. Les uid de ces comptes sont entre 1 et 999.

  • Les comptes standards pour les utilisateurs humains (uid à partir de 1000, inclus).

Création d’un utilisateur

La commande de création d’un utilisateur est useradd

Vous devez avoir les droits d’administrateur pour exécuter cette commande.

Elle prend au moins un paramètre qui est le login de l’utilisateur à créer.

Exemple: création de l’utilisateur user1.

# useradd bob

Voici les opérations effectuées par la commande useradd:

  • Ajout d’un utilisateur dans le fichier /etc/passwd

  • Un uid généré par le système est attribué à cete utilisateur et stocké dans /etc/passwd.

  • Un groupe du même nom est créé dans lequel sera placé l’utilisateur. Il s’agit du groupe principal de l’utilisateur. Ce groupe sera le groupe propriétaire des fichiers et répertoires créés par l’utilisateur.

Ne pas mélanger groupe principal d'un utilisateur et groupe propriétaire d'un fichier.

Le groupe principal d’un utilisateur sera le groupe propriétaire des fichiers créés par cet utilisateur.

  • Le répertoire de base de l’utilisateur est créé avec les droits corrects: /home/bob.

  • Le contenu de /etc/skel est copié dans le répertoire de base de l’utilisateur.

  • Un répertoire de réception de courriels est créé dans /var/spool/mail.

Aucun mot de passe n’est créé pour cet utilisateur.

On peut ensuite visualiser l’utilisateur qui vient d’être créé dans /etc/passwd :

$ tail -1 /etc/passwd

bob:x:1002:1002::/home/bob:/bin/bash

Voici différentes options de la commande useradd :

Avec un uid spécifique:

# useradd -u 1502 user2

En spécifiant un groupe principal et des groupes secondaires:

# useradd -g vboxfs -G wheel,users user3

Pour ajouter un commentaire:

# useradd -c "Mon commentaire" user4

Pour spécifier une date d’expiration:

# useradd -e 2016-07-15 user5

Pour définir le shell:

# useradd -s /bin/tcsh user6

Pour choisir son répertoire personnel:

# useradd -d /home/toto user7

Voir les uid et gid

L’uid est le user identification.

Le gid est le group identification.

La commande id permet de visualiser l’uid d’un utilisateur et ses gid.

Exemple:

N’afficher que l’uid

$ id -u

N’afficher que le gid

$ id -g

Afficher tous les id de groupe

$ id -G

Afficher les groupes avec leur nom

$ id -Gn

Changer de mot de passe

Pour changer votre mot de passe, utilisez simplement la commande passwd.

Tous les utilisateurs peuvent changer leur propre mot de passe. root peut changer le mot de passe de tous les utilisateurs. Personne ne peut retrouver un mot de passe oublié.

# passwd bob

Le mot de passe est alors modifié dans le fichier /etc/shadow.

bob:$6$E.LZdOtE$0C4ZcVN7TL1RjVnOZTqkD5WgiDFIXqDnnUeTQ.qvbBJsbrHlEFx0lhtvqXMhz7Bucrm0GV2RCExOqA54RUvhb.:17999:0:99999:7:::

La commande passwd permet aussi d’attribuer un mot de passe à un utilisateur nouvellement créé

Suppression d’un utilisateur

La commande userdel permet de supprimer un utilisateur.

Exemple:

Pour supprimer un utilisateur sans supprimer son répertoire de base:

# userdel utilisateur

Pour supprimer l’utilisateur et son répertoire de base:

# userdel -r utilisateur

Modification un utilisateur

Ce sera avec la commande usermod.

Exemple:

Modifier le répertoire de base:

# usermod -d /utilisateurs/user1 user1

Modifier le shell:

# usermod -s /bin/tcsh user1

Modifier le groupe principal :

# usermod -g nouveauGroup user1

Il existe plusieurs méthodes pour désactiver un utilisateur:

# usermod -L user1 (désactive)
# usermod -u user1 (réactive)
C'est avec la commande usermod que l'on place un utilisateur dans un groupe.

Les groupes

Un utilisateur peut appartenir à un ou plusieurs groupes.

Le groupe principal de l’utilisateur est utilisé lorsqu’il crée des fichiers, des droits lui sont attribués.

L’appartenance à des groupes permettra de définir quelles sont les autorisations dont dispose un utilisateur lorsqu’il tente d’accéder à un fichier.

Comme les utilisateurs, les groupes ont un identifiant unique appelé GID.

Les groupes sont stockés dans le fichier /etc/group

Les types de groupes

Comme pour les utilisateurs, il existe différents types de groupe:

  • Le groupe root (gid 0)

  • Les groupes pour les utilisateurs pouvant faire fonctionner les démons

  • Le groupe nobody (gid 65534)

  • Les groupes standards liés à des utilisateurs standards (gid supérieurs à 1000).

Création d’un groupe

C’est la commande groupadd qui permet de créer un groupe.

Exemple:

Création d’un groupe:

# groupadd monGroupe

Création d’un groupe avec un gid spécifique:

# groupadd -g 1560 monGroupe

On retrouve le groupe dans /etc/group :

monGroup:x:1003:

Suppression d’un groupe

Pour supprimer un groupe, on utilise la commande groupdel.

Exemple:

# groupdel nomGroupe

Modification d’un groupe

La commande groupmod permet de modifier un groupe.

Pour changer de nom:

# groupmod -n <Nouveau nom> <nom du groupe à modifier>

Pour changer le gid:

# groupmod -g gid nomGroup

Exercices

Utilisateurs

Créer un utilisateur nommé exercice1.

Quel est son groupe principal?

Modifier son groupe principal pour qu’il appartienne au groupe root.

Placez le dans le groupe secondaire wheel.

Affichez la liste des groupes auquel appartient l’utilisateur.

Ajoutez le groupe exercice1 à la liste des groupes secondaires.

Groupes

Quelle commande permet de modifier la liste des utilisateurs appartenant à un groupe?

Créer un groupe nommé principal1.

Placer l’utilisateur exercice1 (exercice précédent) dans ce groupe (il doit être son groupe principal).

Supprimer le groupe principal1.

Quel est le groupe principal de exercice1 maintenant?