La notion d'utilisateur

Toute personne physique ayant besoin d'interagir avec un système sous Linux devra s'identifier. L'utilisateur authentifié sera reconnu par un nom unique et un ID unique (numéro d'identifiant).

Les informations sur les utilisateurs sont stockées dans le fichier /etc/passwd.

Le nombre d'utilisateurs que l'on peut définir est en théorie illimité.

Tout système Linux possède un unique super-utilisateur appelé « root », avec des super-pouvoirs.

Par défaut, cet utilisateur est créé à l'installation, mais il n'est pas actif. Une procédure particulière permet de l'activer.

Vous l'aurez compris, seul « root », qui est l'administrateur du système, peut avoir accès au fichier /etc/passwd, pour créer des utilisateurs, leur donner des droits et permissions, et bien d'autres choses.

FondamentalQuestion : qui suis-je ?

Lorsque l'on est sur un terminal Linux, à tout moment, la console indique avec quel nom et type d'utilisateur on est connecté, ceci grâce à l'invite de commande encore appelée prompt :

(l'invite de commande est la suite de caractère présente en début de chaque ligne ;

elle indique que le système est en attente d'une instruction)

Forme du prompt :

Ce qu'il faut retenir :

  • Si le prompt se termine par $ vous êtes connecté en tant qu'utilisateur normal.

  • Si le prompt se termine par # vous êtes connecté en tant que super-utilisateur (administrateur).

Les autres informations présentes dans l'invite de commande sont le nom de l'utilisateur (avant le @), le nom de la machine (nsi) et le nom du répertoire courant (éventuellement avec son chemin d'accès).

 

Forme du prompt pour une connexion en tant que super-utilisateur :

RemarqueForme particulière du prompt :

Rappelons que la tilde ~ désigne le répertoire personnel de l'utilisateur ; dans le cas de l'utilisateur Tom, on peut donc avoir le prompt équivalent suivant :

Attention

Il est déconseillé d'activer le compte root. Les super-pouvoirs (comme pour les super-héros) peuvent être dangereux quand on ne sait pas les maîtriser. On peut détruire tout le fonctionnement de la machine avec une simple commande d'effacement par exemple.

DéfinitionLa commande su

La commande "su" (switch user) permet de prendre l'identité d'un autre utilisateur (son mot de passe vous est demandé).

En particulier su (non suivie d'un identifiant) vous fait passer en utilisateur root.

Exemple

1
su leo
2
su

Pour quitter une session root, tapez exit+↵ Entrée ou Ctrl+D

DéfinitionLa commande sudo

La commande sudo (abréviation de "substitute user do", "super user do" ou "switch user do", en français : « se substituer à l'utilisateur pour faire », « faire en tant que super-utilisateur » ou « changer d'utilisateur pour faire ») vous permet de prendre temporairement les droits de super-utilisateur pour exécuter une commande.

Seuls certains utilisateurs appelés sudoers ont le droit d'exécuter la commande sudo.

La commande sera exécutée si le mot de passe entré est correct et que l'utilisateur courant peut effectuer des tâches d'administration.

Sudo sert par exemple à exécuter, en mode super-utilisateur, des commandes ou des applications en console. Il faut faire précéder chacune des commandes à exécuter en mode super-utilisateur par la commande sudo, de la manière suivante :

1
sudo <commande>

MéthodeGérer les utilisateurs

Les utilisateurs sont stockés dans le fichier /etc/passwd.

1
cat /etc/passwd

L'utilisateur root peut facilement ajouter un utilisateur à l'aide de la commande interactive adduser :

1
adduser  <utilisateur>

Pour définir un mot de passe pour un utilisateur :

1
passwd <utilisateur>

Pour supprimer un utilisateur :

1
userdel -r <utilisateur>

L'option -r permet de supprimer le répertoire de l'utilisateur ainsi que son fichier de mails en attente.

Pour ajouter un utilisateur à un groupe existant (sans conserver les anciens groupes auxquels appartient l'utilisateur) :

1
usermod -G groupe1,groupe2,groupeN user

Pour ajouter un utilisateur à un groupe existant (en conservant les groupes actuels auxquels appartient l'utilisateur) :

1
usermod -aG groupe1,groupe2,groupeN user

Pour vérifier que l'utilisateur appartient bien à ce groupe :

1
groups user

MéthodeGérer les groupes

Les groupes sont disponibles dans le fichier /etc/group. Il est possible de connaître les groupes d'un utilisateur à l'aide de l'une des commandes groups, id ou :

1
cat /etc/group

Pour créer un groupe :

1
groupadd <groupe>

Ajouter un utilisateur au groupe :

1
gpasswd -a <utilisateur> <groupe>

Il est possible de rajouter plusieurs groupes à un utilisateur :

1
usermod -aG groupe1,groupe2 <utilisateur>

Pour effacer un groupe :

1
groupdel <groupe>

Enlever un utilisateur d'un groupe:

1
gpasswd -d <utilisateur> <groupe>