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.
[[email protected] 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 :
[[email protected] 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
[[email protected] tmp]# useradd -c "utilisateur sitedetout" -d /home/sitedetout -p sitedetout -s /bin/bash sitedetout [[email protected] tmp]# [[email protected] tmp]# tail -1 /etc/passwd sitedetout:x:501:503:utilisateur sitedetout:/home/sitedetout:/bin/bash [[email protected] 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
[[email protected] tmp]# groupadd groupsitedetout [[email protected] 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
[[email protected] tmp]# usermod -g groupsitedetout sitedetout [[email protected] 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
[[email protected] 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
[[email protected] tmp]# groups root
4- Changement de mot de passe
Pour changer le mot de passe d’un utilisateur, on utilisera la commande passwd
[[email protected] 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é
[[email protected] tmp]# su sitedetout [sitedetou[email protected] tmp]$ [[email protected] tmp]$ exit [[email protected] 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
[[email protected] tmp]# userdel sitedetout [[email protected] tmp]# rm -rf /home/sitedetout/ [[email protected] tmp]# groupdel groupsitedetout [[email protected] 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 :
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.
[[email protected] 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 :
[[email protected] tmp]# useradd -c "utilisateur sitedetout" -d /home/sitedetout -p sitedetout -s /bin/bash sitedetout [[email protected] tmp]#
On va ensuite se connecter avec l’utilisateur sitedetout à l’aide de la commande su :
[[email protected] tmp]# su - sitedetout [[email protected] tmp]#
Maintenant on va créer un répertoire dans notre répertoire home à l’aide de la commande mkdir :
[[email protected] tmp]# mkdir /home/sitedetout/dossier [[email protected] 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 :
[[email protected] tmp]# chmod 777 /home/sitedetout/dossier
ou bien
[[email protected] tmp]# chmod ugo+rwx /home/sitedetout/dossier/
Et ainsi
[[email protected] 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 :
Exemple :
[[email protected] tmp]# chmod uo-w /home/sitedetout/dossier/ [[email protected] 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 :
[[email protected] tmp]# su - root Mot de passe : ***** [[email protected] tmp]# chown root /home/sitedetout/dossier/ [[email protected] tmp]# ls -l /home/sitedetout/ drwxrwxrwx. 2 root sitedetout 4096 9 mai 23:18 dossier [[email protected] 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
Simple et compréhensible, vous faites du bon boulot 🙏🤝
Vous êtes le meilleur, claire et concis