Sitedetout - Tutoriels informatiques

La gestion des utilisateurs et des droits sous Linux

Vous le savez déjà peut être, linux est un système Multi-utilisateur, c’est à dire, plusieurs utilisateurs peuvent l’utiliser simultanément ou en suite, et c’est le système qui se charge de répartir les ressources (processus, mémoire, disque) équitablement à chacun.

Dès que vous avez installé votre machine Linux, plusieurs utilisateurs système ont été créés, ces utilisateurs sont nécessaires pour sa gestion interne.

Linux intègre aussi la notion de groupe d’utilisateurs, ce qui permet à un ensemble d’utilisateur d’avoir les mêmes droits sur un fichier ou un répertoire.

Chaque utilisateur créé appartient par défaut à un groupe primaire portant son nom, et peut aussi faire partie de plusieurs groupes secondaires.

1- Lister les utilisateurs et groupes

Pour lister l’ensemble des utilisateurs disponibles, vous pouvez afficher le contenu du fichier /etc/passwd à l’aide de la commande cat.

[root@centos tmp]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
...
...
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
pulse:x:497:496:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin

La forme des lignes est la suivante :

Nom utilisateur : mot de passe : uid : gid : Description : répertoire personnel : programme de démarrage

les utilisateurs ayant le programme de démarrage /sbin/nologin sont généralement des utilisateurs système, tandis que les utilisateurs ayant un programme de démarrage comme /bin/bash sont des utilisateurs physiques pouvant se connecter et exécuter des commandes.

uid : Il s’agit de l’identifiant de l’utilisateur, c’est un numéro unique pour chaque utilisateur et utilisé entre autres pour les droits d’accès.

L’utilisateur root étant le super administrateur du système possède un numéro uid spéciale qui est 0.

gid : Il s’agit de l’identifiant du groupe auquel appartient l’utilisateur en question. le numéro de gid de l’utilisateur root est aussi 0.

Si la liste des utilisateurs est disponible dont le fichier /etc/passwd, la liste des groupe peut être visualisée dans le fichier /etc/group :

[root@centos tmp]# cat /etc/group
root:x:0:
bin:x:1:bin,daemon
daemon:x:2:bin,daemon
sys:x:3:bin,adm
adm:x:4:adm,daemon
tty:x:5:
disk:x:6:
lp:x:7:daemon
...
...
stapsys:x:157:
stapdev:x:158:
tcpdump:x:72:
slocate:x:21:

2- Création des utilisateurs et groupes

Pour créer un nouvel utilisateur, on utilisera la commande useradd

adduser [-c commentaires] [-d rep_personnel] [-e date_expiration] [-f tps_inactivité]

[-g groupe_initial] [-G groupe[,…]  [-m [-k squelette_rep | -M] [-p motdepasse] [-s shell]

[-u uid [-o]] [-n] [-r] utilisateur

[root@centos tmp]# useradd -c "utilisateur sitedetout" -d /home/sitedetout -p sitedetout -s /bin/bash sitedetout
[root@centos tmp]#
[root@centos tmp]# tail -1 /etc/passwd
sitedetout:x:501:503:utilisateur sitedetout:/home/sitedetout:/bin/bash
[root@centos tmp]# groups sitedetout
sitedetout : sitedetout

note : Voir la commande groups en bas.

Comme vous le voyez bien, une nouvelle ligne vient d’être ajoutée au fichier /etc/passwd.

Pour créer un groupe, on va utiliser la commande groupadd

[root@centos tmp]# groupadd groupsitedetout
[root@centos tmp]# tail -1 /etc/group
groupsitedetout:x:504:

Le groupe a été créé avec le numéro 504, maintenant on va affecter l’utilisateur sitedetout à ce groupe.

Pour  faire cela, on utilisera la commande usermod

[root@centos tmp]# usermod -g groupsitedetout sitedetout
[root@centos tmp]# tail -1 /etc/passwd
sitedetout:x:501:504:utilisateur sitedetout:/home/sitedetout:/bin/bash

Le numéro de groupe (gid) de l’utilisateur sitedetout a été changé en 504 qui est le numéro du group groupsitedetout

3- Identité de l’utilisateur actuel

Pour afficher les informations de l’utilisateur connecté, Linux dispose de plusieurs commandes dont :

La commande id : Affiche les informations de l’utilisateur actuel

[root@centos tmp]# id
uid=0(root) gid=0(root) groupes=0(root) contexte=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

La commande groups : Affiche la liste des groupes auquels appartient l’utilisateur actuel

[root@centos tmp]# groups
root

4- Changement de mot de passe

Pour changer le mot de passe d’un utilisateur, on utilisera la commande passwd

[root@centos tmp]# passwd sitedetout
Changement de mot de passe pour l'utilisateur sitedetout.
Nouveau mot de passe : *****
Retapez le nouveau mot de passe : *****
passwd : mise à jour réussie de tous les jetons d'authentification.

5- Changement de l’utilisateur utilisé

[root@centos tmp]# su sitedetout
[sitedetout@centos tmp]$
[sitedetout@centos tmp]$ exit
[root@centos tmp]#

La commande exit permet de terminer la session de l’utilisateur connecté

6- Suppression des utilisateurs et groupes

Pour supprimer un utilisateur ou un groupe, on utilisera les commandes userdel et groupdel

[root@centos tmp]# userdel sitedetout
[root@centos tmp]# rm -rf /home/sitedetout/
[root@centos tmp]# groupdel groupsitedetout
[root@centos tmp]#

7- Gestion des droits d’accès

Pour gérer les droits d’accès, linux donne la possibilité d’attribuer trois type de droits à chaque fichier ou répertoire :

Droit Signification Fichier Répertoire
r Read Le fichier est lisible Le répertoire peut être consulté (ls repertoire)
w Write Le fichier est modifiable La création, modification ou suppression des fichiers ou répertoires dans ce répertoire est possible.
x eXecute Le fichier peut être exécuté Le déplacement dans le répertoire est possible

Ces trois type de droit sont octroyés séparément aux entités suivantes :

  • user : propriétaire du fichier ou répertoire.
  • group : groupe du fichier ou répertoire.
  • other : tout autre utilisateur voulant utilisé le fichier ou répertoire.

Ainsi, chaque fichier ou répertoire possède la suite des droits suivante :permissions

les droits d’un fichier ou un répertoire peuvent être affichés en utilisant la commande ls -l qui permet de lister le contenu d’un répertoire en affichant plusieurs informations dont les permissions déjà citées.

[root@centos tmp]# ls -l /
dr-xr-xr-x. 2 root root 4096 12 avril 03:36 bin
drwxr-xr-x. 7 root root 4096 10 avril 17:40 opt
dr-xr-xr-x. 269 root root 0 6 mars 11:34 proc
dr-xr-x---. 30 root root 4096 9 mai 21:42 root
dr-xr-xr-x. 2 root root 12288 12 avril 03:36 sbin
dr-xr-xr-x. 13 root root 0 6 mars 11:34 sys
drwxrwxrwt. 18 root root 4096 9 mai 03:09 tmp
drwxr-xr-x. 14 root root 4096 7 mars 11:13 usr
drwxr-xr-x. 22 root root 4096 3 mars 13:14 var
...

Pour comprendre comment tout cela fonctionne, il n y a pas mieux que de prendre la machine en main.

Pour cela, on va recréer l’utilisateur sitedetout qu’on a créé puis supprimé comme suit :

[root@centos tmp]# useradd -c "utilisateur sitedetout" -d /home/sitedetout -p sitedetout -s /bin/bash sitedetout
[root@centos tmp]#

On va ensuite se connecter avec l’utilisateur sitedetout à l’aide de la commande su :

[root@centos tmp]# su - sitedetout
[sitedetout@centos tmp]#

Maintenant on va créer un répertoire dans notre répertoire home à l’aide de la commande mkdir :

[root@centos tmp]# mkdir /home/sitedetout/dossier
[sitedetout@centos tmp]# ls -l /home/sitedetout/
drwxrwxr-x. 2 sitedetout sitedetout 4096 9 mai 23:18 dossier

Le répertoire dossier a été créé par défaut avec les droits rwxrwxr-x ou en format numérique 775, cela veut dire que l’utilisateur sitedetout a tout les droits sur le répertoire dossier ( voir tableau plus haut), de même pour les utilisateur appartenant au groupe sitedetout, tandis que le reste des utilisateur (Other) ont les droits r-w ou 5 et ne pourront donc pas créer, modifier ou supprimer des fichiers dans le répertoire dossier.

Maintenant pour changer les droits du répertoire dossier à l’aide de la commande chmod pour attribuer les droits 777 au répertoire dossier :

[sitedetout@centos tmp]# chmod 777 /home/sitedetout/dossier

ou bien

[sitedetout@centos tmp]# chmod ugo+rwx /home/sitedetout/dossier/

Et ainsi

[sitedetout@centos tmp]# ls -l /home/sitedetout/dossier/
drwxrwxrwx. 2 sitedetout sitedetout 4096 9 mai 23:18 dossier

On remarque que les droits ont été modifiés.

Pour rajouter ou enlever un droit d’accès, on utilisera la syntaxe suivante :

permissions

Exemple :

[sitedetout@centos tmp]# chmod uo-w /home/sitedetout/dossier/
[sitedetout@centos tmp]# ls -l /home/sitedetout/dossier/
dr-xrwxr-x. 2 sitedetout sitedetout 4096 9 mai 23:18 dossier

8- Changement du propriétaire / groupe d’un fichier / répertoire

Pour changer le propriétaire ou le groupe d’un fichier ou répertoire, on sipose des commandes suivantes :

chown : Permet de changer le propriétaire d’un fichier ou répertoire.

chgrp : Permet de changer le groupe d’un fichier ou répertoire.

Utilisant ces deux commandes pour rendre l’utilisateur root le propriétaire du répertoire dossier et le groupe root ( groupe de l’utilisateur root) le groupe auquel appartient le répertoire dossier :

[sitedetout@centos tmp]# su - root
Mot de passe : *****
[root@centos tmp]# chown root /home/sitedetout/dossier/
[root@centos tmp]# ls -l /home/sitedetout/
drwxrwxrwx. 2 root sitedetout 4096 9 mai 23:18 dossier
[root@centos tmp]# chgrp root /home/sitedetout/dossier/
drwxrwxrwx. 2 root root 4096  9 mai   23:18 dossier
Bonne chance et n'hésitez pas à nous contacter en cas de besoin


Commentaires de La gestion des utilisateurs et des droits sous Linux

  • Simple et compréhensible, vous faites du bon boulot 🙏🤝

    Dan 26 octobre 2022 21 h 04 min Répondre
  • Vous êtes le meilleur, claire et concis

    SAMA 22 mars 2022 13 h 00 min Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

Menu Title
Chargement...

Powered by sitedetout.com