Création d'utilisateurs et de groupes, configuration des droits d'accès, gestion des processus
1. Définition de la tâche
Alors, on a devant nous un travail pratique intense où vous pourrez appliquer toutes les connaissances acquises dans les conférences précédentes. On va créer des utilisateurs, les regrouper dans des groupes, définir des droits d'accès uniques et gérer les processus dans le système. Et si vous vous demandez : "Pourquoi j'en aurais besoin ?", imaginez que vous êtes un administrateur système ou un ingénieur DevOps, et qu'on vous demande de configurer un serveur pour le travail en équipe. Ou même juste pour sauver votre ordi du chaos ! Dans le monde réel, ce genre de situations arrive plutôt souvent.
Votre objectif est de configurer le système pour les utilisateurs et processus suivants :
- Créer deux utilisateurs :
user1
etuser2
. Ils devront travailler ensemble dans le groupedevelopers
. - Configurer un fichier (par exemple,
project.txt
) de manière à ce que seuls les membres du groupedevelopers
puissent le modifier. - Créer plusieurs processus (par exemple, avec la commande
sleep
) et apprendre à les terminer si nécessaire. - Voir les processus actifs pour identifier lesquels consomment le plus de ressources.
Ça ressemble à un plan ? Allons-y étape par étape.
2. Étape 1 : Création des utilisateurs
1. Créons des utilisateurs
Pour commencer, créons deux utilisateurs :
sudo adduser user1
sudo adduser user2
Lorsque vous exécutez ces commandes, le système vous demandera de définir un mot de passe et de fournir une description pour chaque utilisateur. On ne va pas remplir d'informations inutiles ici, vous pouvez simplement appuyer sur Enter.
Un répertoire personnel est automatiquement créé pour chaque utilisateur dans /home
. Vous pouvez le vérifier :
ls /home
Si vous travaillez localement, n'oubliez pas d'utiliser sudo
pour obtenir les droits administratifs. Et si vous utilisez WSL, sachez qu'il peut y avoir des particularités avec les utilisateurs. Par exemple, dans WSL, l'utilisateur par défaut est déjà administrateur du système.
3. Étape 2 : Création d'un groupe et ajout des utilisateurs
1. Créons un groupe
Pour que les utilisateurs puissent collaborer sur des projets, ajoutons-les dans un groupe. Commençons par créer un groupe developers
:
sudo groupadd developers
2. Ajout des utilisateurs au groupe
Maintenant, ajoutons les utilisateurs user1
et user2
au groupe developers
. Utilisons la commande usermod
pour cette tâche :
sudo usermod -aG developers user1
sudo usermod -aG developers user2
3. Vérification de l'appartenance au groupe
Pour s'assurer que les utilisateurs ont bien été ajoutés au groupe, exécutez :
groups user1
groups user2
Vous devriez voir que user1
et user2
sont membres du groupe developers
.
4. Étape 3 : Travailler avec des fichiers et des autorisations
1. Créons un fichier pour le projet
Créons un fichier project.txt
dans le répertoire personnel de l'un des utilisateurs (par exemple, user1
) :
sudo -u user1 touch /home/user1/project.txt
La commande sudo -u
nous permet d'exécuter des actions au nom d'un autre utilisateur.
2. Changeons le propriétaire et le groupe du fichier
Définissons user1
comme propriétaire et developers
comme groupe, afin que les deux utilisateurs aient les mêmes accès :
sudo chown user1:developers /home/user1/project.txt
3. Configurons les autorisations
Modifions maintenant les autorisations du fichier. Utilisons la commande chmod
:
sudo chmod 660 /home/user1/project.txt
Qu'avons-nous fait ? Nous avons donné au propriétaire user1
et au groupe developers
les droits de lecture et d'écriture rw-
, tandis que tous les autres n'ont aucun accès.
Vous pouvez vérifier les autorisations avec la commande ls
:
ls -l /home/user1/project.txt
Résultat attendu :
-rw-rw---- 1 user1 developers 0 date heure /home/user1/project.txt
5. Étape 4 : Lancement des processus
1. On lance des processus
Pour expérimenter, créons quelques processus "longue durée" avec la commande sleep
:
sleep 300 &
sleep 400 &
sleep 500 &
Chaque commande sleep
est lancée en arrière-plan grâce au symbole &
.
Pour vérifier la liste des processus, utilisez la commande ps
:
ps
Plus d'infos peuvent être vues avec ps aux
:
ps aux | grep sleep
6. Étape 5 : Terminer les processus
1. Terminer un processus avec le PID
On détermine le PID d'un processus (par exemple, sleep
) et on le termine :
kill PID
Où PID
est l'identifiant du processus, qu'on peut trouver avec la commande ps
.
2. Terminer un processus par son nom
Si tu veux terminer tous les processus sleep
, utilise la commande killall
:
killall sleep
3. Utiliser pkill
Si tu ne te souviens pas du nom exact du processus, pkill
peut t'aider à terminer un processus en utilisant une correspondance partielle du nom :
pkill slee
7. Étape 6 : Surveillance des processus
Pour surveiller la charge du système, utilise :
top
— pour travailler en temps réel :top
Ici, tu peux observer la charge du processeur, la mémoire et les processus actifs. Utilise la combinaison de touches
k
pour terminer un processus directement depuis l’interface.htop
— une interface plus pratique (si tu l’as installé) :
Pour quitter, appuie surhtop
F10
.
8. Liste de contrôle
Après avoir effectué toutes les étapes, tu dois t'assurer que :
- Deux utilisateurs
user1
etuser2
sont créés. - Un groupe
developers
est créé et configuré, et les deux utilisateurs y sont ajoutés. - Un fichier
project.txt
est créé, accessible uniquement au groupedevelopers
. - Plusieurs processus ont été créés et arrêtés à l'aide des commandes
kill
,killall
etpkill
. - Tu as réussi à consulter la liste des processus avec
ps
,top
ouhtop
.
Si tout est fait — bravo ! Tu as franchi toutes les étapes principales de la gestion des utilisateurs, des groupes, des droits d'accès et des processus dans un système Linux. Que la puissance de la console soit avec toi !
GO TO FULL VERSION