Commandes de base Linux et terminal
Commandes de base Linux et terminal
DE LINUX
1
INTRODUCTION
Commandes Linux
Système Linux
Distribution Ubuntu
Administration Système
2
Système Linux
Interpréteur de commandes
3
Système Linux
Interpréteur de commandes
• Pour ouvrir le Terminal on peut soit:
⇒ Chercher « terminal » dans le tableau de bord et l’épingler
à la barre de lancement,
⇒ Appuyer simultanément sur les touches CTRL + ALT + T.
4
Système Linux
L’invite de commande:
ichrak@ichrak le premier élément est votre pseudonyme(ichrak): C'est le
pseudo sous lequel vous vous êtes logés.
5
Système Linux
L’invite de commande:
6
Système Linux
Interpréteur de commandes
➢Les commandes sont courtes, abrégées, Il s'agit bien souvent d'une
abréviation de termes.
❑Syntaxe :
commande [options] <arguments>
séparateur : caractère espace
• Commande :
⇒ Action à accomplir ou application à démarrer
• Arguments
⇒ Objets ou fichiers auxquels la commande s'applique
• Options
⇒ Modification du comportement de la commande Commencent
généralement par un -
7
Système Linux
Interpréteur de commandes
➢Exemple:
cat -n /etc/passwd
8
Système Linux
9
Système Linux
10
Système Linux
11
Système Linux
Syntaxe des commandes
Si on ajoute le nom d'un dossier (ou sous-dossier), cela affichera le contenu de
ce dossier au lieu du contenu du dossier courant :
12
Système Linux
Page de manuel
• Pour obtenir des informations plus complètes sur l'usage et l'utilité d’une
commande, il suffit d'invoquer le manuel en ligne de commande:
man nom_de_la_commande.
• Pour sortir du manuel, composer la touche q.
➢ man <mot_clé> ⇒ Affiche une ou plusieurs pages de manuel pour
<mot_clé>
Exemple:
⇒ man man
⇒ man cd
13
Système Linux
14
Système Linux
15
Système Linux
16
Système Linux
17
Système Linux
18
Système Linux
19
Système Linux
20
Système Linux
Exemple
21
Système Linux
22
Système Linux
23
Système de fichiers Linux
Exercice:
24
Système de
fichiers Linux
25
Système de fichiers Linux
Système de Fichiers
• Le système de fichiers est organisé en une structure arborescente, dont les
nœuds sont des répertoires et les feuilles des fichiers ordinaires.
⇒ Les fichiers spéciaux : Ce sont des fichiers qui ne sont pas stockés sur un
disque physique, mais qui servent plutôt de mécanisme de communication
entre différents processus.
26
Système de fichiers Linux
Par exemple, votre lecteur CD est un fichier pour Linux. Là où Windows fait la
distinction entre ce qui est un fichier et ce qui ne l'est pas, Linux, lui, dit que
tout est un fichier.
27
Système de fichiers Linux
NB: Vous noterez que sous Windows c'est l'antislash \ qui sert de
séparateur aux noms de dossiers.
• Sous Linux, c'est au contraire le slash / qui sert de séparateur.
28
Système de fichiers Linux
Notations spéciales
29
Système de fichiers Linux
30
Système de fichiers Linux
31
Système de fichiers Linux
32
Système de fichiers Linux
Fichier Vs Dossier
• Sur le terminal Ubuntu, les fichiers et les dossiers sont affichés avec des
informations différentes qui permettent de les différencier comme:
o Le nom : Les fichiers ont un nom qui se termine par une extension (par
exemple, .txt pour un fichier texte). Les dossiers, quant à eux, n'ont pas
d'extension et leur nom se termine simplement par un slash (/).
o La couleur : Par défaut, les fichiers et les dossiers ont des couleurs
différentes sur le terminal Ubuntu. Les fichiers sont généralement
affichés en blanc ou en gris, tandis que les dossiers sont affichés en bleu.
33
Système de fichiers Linux
Fichier Vs Dossier
• Pour visualiser les symboles qui représentent les dossiers et les fichiers dans
le terminal Ubuntu, vous pouvez utiliser l'option -F (ou --classify) avec la
commande ls.
✓ / : indique un dossier
✓ @ : indique un lien symbolique
✓ . : indique un fichier exécutable
✓ = : indique un fichier socket
✓ | : indique un fichier FIFO
34
Système de fichiers Linux
La commande pwd
❑ La commande pwd:
⇒ pwd est l'abréviation de « Print Working Directory », c’est pour
Afficher le dossier actuel ».
➢ Une commande n'est rien d'autre qu'un programme qu'on peut appeler
n'importe quand et n'importe où dans la console.
➢ La commande which permet de connaître l'emplacement du programme
de la commande pwd
35
Système de fichiers Linux
La commande ls
❑ La commande ls: ls « source »
⇒ ls Affiche le contenu d’un répertoire
36
Système de fichiers Linux
La commande ls
❑ Les paramètres les plus utiles pour la commande ls
• ls -a : afficher tous les fichiers et dossiers cachés
Sous Linux, on peut « cacher » des fichiers et dossiers. Ce n'est pas une
protection, car on peut toujours les réafficher si on veut. Certains éléments
commençant par un point « . » sont des dossiers, d'autres sont des fichiers.
« . » représente en fait le dossier actuel,
« .. » représente le dossier parent, c'est-à-dire le dossier précédent dans
l'arborescence. Par exemple, là je suis dans /home/ichrak, « .. » représente
donc le dossier /home.
37
Système de fichiers Linux
La commande ls
❑ Les paramètres les plus utiles pour la commande ls
• ls –l affiche une liste détaillant chaque élément du dossier :
38
Système de fichiers Linux
La commande cd
• La commande cd: cd « cible »
⇒ Abréviation de Change Directory (changer de dossier), permet de changer
le répertoire courant (permet de naviguer dans l’arborescence).
39
Système de fichiers Linux
La commande cd
• La commande cd: cd « cible »
⇒ Pour revenir au dossier précédent (dossier parent)
40
Système de fichiers Linux
La commande cd
• Tout répertoire/fichier peut être identifié de deux manières différentes:
⇒ Par son chemin absolu : Liste des répertoires depuis la racine (/) jusqu’au
fichier recherché.
⇒ Par son chemin relatif : Liste des répertoires depuis le répertoire courant
(là ou l’on se trouve) jusqu’au fichiers recherché.
41
Système de fichiers Linux
La commande cd
• Contrairement aux chemins relatifs, les chemins absolus fonctionnent quel
que soit le dossier dans lequel on se trouve. Il commence toujours par la
racine (/)
La commande cd
Retour au répertoire home:
43
Système de fichiers Linux
1.Que représente l'emplacement courant ? Afficher votre emplacement courant sur le terminal
2.Changer votre emplacement courant en se positionnant dans la racine puis exécuter la
commande pwd quel est le résultat affiché
3.Exécuter la commande cd sans arguments puis pwd. Quel est le résultat.
4.Que représente le chemin suivant ~root? vérifier votre réponse avec un cd
5.En utilisant un chemin absolu changer votre emplacement courant en se positionnant
dans /usr/bin
6.En utilisant un chemin relatif changer votre emplacement courant en se positionnant dans /usr
7.En utilisant un chemin relatif changer votre emplacement courant en se positionnant
dans /usr/share/doc
8.En utilisant un chemin relatif changer votre emplacement courant en se positionnant
dans /usr/share/dict
9.En utilisant un chemin relatif changer votre emplacement courant en se positionnant dans votre
répertoire personnel
44
Système de fichiers Linux
La commande « du »
• Taille occupée par les dossiers
• La commande « du », pour Disk Usage (utilisation du disque) vous donne des
informations sur la taille qu'occupent les dossiers sur votre disque.
La taille totale
45
Système de fichiers Linux
46
Système de fichiers Linux
47
Système de fichiers Linux
La commande cat
• En plus de simplement afficher le contenu d'un fichier, la commande "cat"
peut également être utilisée pour combiner le contenu de plusieurs fichiers et
créer un nouveau fichier en les concaténant.
48
Système de fichiers Linux
La commande less
• Pour la commande less elle affiche le contenu du fichier, page par page,
mais comment passer d’une page à l’autre?
⇒ Espace : affiche la suite du fichier. La touche Espace fait défiler le fichier vers
le bas d'un « écran » de console.
⇒ Entrée : affiche la ligne suivante. Cela permet donc de faire défiler le
fichier vers le bas ligne par ligne.
⇒ Vous pouvez aussi utiliser la touche Flèche vers le bas.
⇒ la lettre q : arrête la lecture du fichier. Cela met fin à la commande less.
49
Système de fichiers Linux
La commande less
• "less" est l'abréviation de "less is more" en Linux.
• Il s'agit d'un programme de visualisation de fichiers qui est similaire à l'ancien
programme "more",
• Mais less offre des fonctionnalités supplémentaires telles que:
o Le défilement en arrière et en avant,
o et la possibilité de naviguer dans des fichiers de grande taille,
o La recherche dans le texte.
Le nom "less" est en fait un jeu de mots sur l'expression "less is more"
qui signifie que la simplicité est souvent préférable à la complexité.
50
Système de fichiers Linux
La commande less
• La recherche dans le texte:
1.Ouvrez le fichier que vous souhaitez consulter avec less. Par exemple, si vous
souhaitez ouvrir le fichier "monfichier.txt", vous pouvez taper la commande less
monfichier.txt dans un terminal.
2.Appuyez sur la touche / pour accéder au mode de recherche. Vous verrez un
curseur clignoter en bas de l'écran.
3.Tapez le terme que vous souhaitez rechercher, puis appuyez sur la touche Entrée.
less va alors chercher le terme dans le fichier et afficher la première occurrence.
4.Si le terme apparaît plusieurs fois dans le fichier, vous pouvez appuyer sur la
touche n pour afficher la prochaine occurrence ou sur N pour afficher la précédente.
5.Pour quitter le mode de recherche, appuyez sur la touche q.
51
Système de fichiers Linux
La commande less
• La recherche dans le texte:
Par exemple,
o Si vous visualisez un fichier avec "less" et que vous recherchez un mot en
utilisant la commande "/", les occurrences de ce mot dans le fichier seront
affichées en commençant par la position actuelle du curseur jusqu'à la fin du
fichier.
o Si vous souhaitez rechercher des occurrences du mot en partant de la fin du
fichier vers l'arrière, vous pouvez utiliser la commande "?" au lieu de "/"
pour accéder au mode de recherche inverse. Les occurrences du mot seront
alors affichées en partant de la position actuelle du curseur jusqu'au début
du fichier.
52
Système de fichiers Linux
La commande head
• head : afficher le début du fichier
⇒ -n, suivi d'un nombre. Il permet d'afficher le nombre de lignes que vous
voulez.
53
Système de fichiers Linux
La commande tail
• tail : afficher la fin du fichier
⇒ La commande tail vous renvoie la fin du fichier, donc les dernières lignes.
⇒ On peut là encore utiliser-n suivi d'un nombre pour afficher les dernières
lignes souhaitées.
54
Système de fichiers Linux
La commande sed
• sed : afficher des lignes précises dans un fichier texte
⇒ La syntaxe de base pour utiliser cette commande consiste à spécifier le
numéro de la ligne ou les numéros de ligne que vous souhaitez afficher.
• Par exemple, pour afficher la 10ème ligne du fichier « syslog ».
55
Système de fichiers Linux
La commande sed
On peut utiliser la commande nl pour numéroter les lignes de votre fichier,
et ensuite utiliser la commande sed pour extraire les lignes que vous voulez
afficher.
Explication de la commande :
✓ nl : numérote les lignes du fichier spécifié en entrée
✓ sed : extrait les lignes 5 à 10 (inclus) du résultat renvoyé par nl
✓ -n : supprime l'affichage par défaut de sed
✓ '5,10p' : affiche les lignes de 5 à 10 (inclus)
56
Système de fichiers Linux
⇒ Vous pouvez créer plusieurs fichiers en une seule commande. Il vous suffit
de les lister l'un après l'autre, séparés par des espaces.
57
Système de fichiers Linux
58
Système de fichiers Linux
La commande cp & mv
• cp : copier un fichier
⇒ La commande cp (abréviation de CoPy) permet de copier un fichier, mais
aussi de copier plusieurs fichiers à la fois, et même de copier des dossiers !
⇒ Si vous voulez copier fichier premier dans le dossier TP1 sous un autre nom
par exemple premierTP faites comme ceci
59
Système de fichiers Linux
La commande cp & mv
• Copier des dossiers
⇒ Avec l'option-R (un « R » majuscule !), vous pouvez copier un dossier, ainsi
que tous les sous-dossiers et fichiers qu'il contient !
⇒ On a créé un dossier TP1 qui contenait un autre dossier TP2, qui lui-même contenait le
dossier TP3.
⇒ On va copier TP1 ainsi que tous ses sous-dossiers dans un nouveau dossier qu’on va créer avec le nom
« TravauxPratique »
60
Système de fichiers Linux
La commande cp & mv
• mv : déplacer un fichier
• Très proche de cp, la commande mv (MoVe) a en fait deux utilités :
⇒ Déplacer un fichier (ou un dossier) ;
⇒ Renommer un fichier (ou un dossier).
61
Système de fichiers Linux
La commande cp & mv
⇒ Renommer un fichier avec la commande mv
• La commande mv permet de renommer un fichier. En effet, il n'existe pas de
commande spéciale pour renommer un fichier en console sous Linux, c'est la
commande mv qui est utilisée pour ça.
⇒ Déplacer et renommer un fichier à la fois: Vous pouvez aussi déplacer fichier test2 dans
dossier1 tout en lui affectant un nouveau nom : test222
62
Système de fichiers Linux
La commande rm
• rm : supprimer des fichiers et dossiers
⇒ Elle supprime les fichiers sans avoir la possibilité de les récupérer
63
Système de fichiers Linux
La commande rm
rm -i : demander confirmation (o signifie oui, n signifie non)
64
Système de fichiers Linux
Exercice:
1. Créez un dossier nommé "exercices" à l'aide de la commande mkdir
2. Créez un fichier vide nommé "mon_fichier.txt" à l'aide de la commande touch
3. Ajoutez du contenu au fichier en utilisant la commande echo
4. Affichez le contenu du fichier en utilisant la commande cat
5. Affichez les premières lignes du fichier en utilisant la commande head
6. Affichez les dernières lignes du fichier en utilisant la commande tail
7. Créez une copie du fichier en utilisant la commande cp
8. Renommez la copie en utilisant la commande mv
9. Supprimez le fichier original en utilisant la commande rm
10. Créez un nouveau dossier appelé "test" en utilisant la commande mkdir
11. Déplacez le fichier "mon_fichier2.txt" dans le dossier "test" en utilisant la
commande mv
12. Affichez le contenu du fichier déplacé en utilisant la commande less
65
Système de fichiers Linux
Corrigé Exercice:
1. Créez un dossier nommé "exercices" à l'aide de la commande mkdir :
mkdir exercices
2. Créez un fichier vide nommé "mon_fichier.txt" à l'aide de la commande touch :
touch exercices/mon_fichier.txt
3. Ajoutez du contenu au fichier en utilisant la commande echo :
echo "Contenu de mon fichier" >> exercices/mon_fichier.txt
4. Affichez le contenu du fichier en utilisant la commande cat :
cat exercices/mon_fichier.txt
5. Affichez les premières lignes du fichier en utilisant la commande head :
head -n 3 exercices/mon_fichier.txt
6. Affichez les dernières lignes du fichier en utilisant la commande tail :
tail -n 2 exercices/mon_fichier.txt
66
Système de fichiers Linux
Corrigé Exercice:
7. Créez une copie du fichier en utilisant la commande cp :
cp exercices/mon_fichier.txt exercices/mon_fichier_copie.txt
8. Renommez la copie en utilisant la commande mv :
mv exercices/mon_fichier_copie.txt exercices/mon_fichier2.txt
9. Supprimez le fichier original en utilisant la commande rm :
rm exercices/mon_fichier.txt
10.Créez un nouveau dossier appelé "test" en utilisant la commande mkdir :
mkdir test
11.Déplacez le fichier "mon_fichier2.txt" dans le dossier "test" en utilisant la
commande mv : mv exercices/mon_fichier2.txt test/
12.Affichez le contenu du fichier déplacé en utilisant la commande less :
less test/mon_fichier2.txt
67
Système de fichiers Linux
Editeur de texte
68
Système de fichiers Linux
69
Système de fichiers Linux
• Vous pouvez vous déplacer dans le fichier avec les flèches du clavier ainsi
qu'avec les touches Page Up et Page Down pour avancer de page en page (les
raccourcis Ctrl + Y et Ctrl + V fonctionnent aussi).
70
Système de fichiers Linux
❑ La recherche
• La combinaison de touches Ctrl + W lance une recherche dans le fichier, il
vous suffit d'écrire le mot que vous recherchez puis de taper Entrée
• Le curseur est automatiquement positionné à la première occurrence trouvée
• Si vous voulez sortir du mode recherche, tapez Ctrl + C.
71
Système de fichiers Linux
72
Système de fichiers Linux
73
Système de fichiers Linux
74
Système de fichiers Linux
75
Système de fichiers Linux
76
Système de fichiers Linux
77
Système de fichiers Linux
78
Système de fichiers Linux
79
Système de fichiers Linux
80
Système de fichiers Linux
81
Système de fichiers Linux
82
Système de fichiers Linux
83
Système de fichiers Linux
84
Système de fichiers Linux
85
Système de fichiers Linux
fich_grep.txt
• En sciences, le terme nano représente une toute petite unité. Par exemple,
un atome a une taille d’environ 0,1 nanomètre.
• Nano est un éditeur de texte, pas un traitement de texte.
• Sous linux, on a le choix entre nano, vim, Emacs et bien d’autres.
• Un éditeur de texte est un programme qui permet de modifier des fichiers
de texte brut, sans mise en forme (gras, italique, souligné..). Sous windows il
y a un éditeur de texte très basique: le bloc note.
fichier_gr.txt
• Linux est un système d'exploitation basé sur le noyau Unix qui offre une
grande flexibilité pour travailler avec du texte.
• L'un des avantages de Linux est la disponibilité de nombreux outils en ligne
de commande pour manipuler du texte, tels que grep, sed et awk.
• De plus, de nombreux éditeurs de texte, tels que vim et emacs, sont
disponibles pour les utilisateurs qui préfèrent une interface graphique.
86
Système de fichiers Linux
• Recherche sans faire une distinction entre les maj et les minus: option –i
87
Système de fichiers Linux
88
Système de fichiers Linux
• Pour afficher seulement les noms des fichiers ou la chaine est trouvé (option –l)
• Pour afficher le nombre de lignes où la chaine se présente dans le fichier (option –c)
89
Système de fichiers Linux
90
Système de fichiers Linux
91
Système de fichiers Linux
92
Système de fichiers Linux
93
Système de fichiers Linux
94
QUELQUES COMMANDES
Uname
• Elle affiche les Informations Systèmes sur la machine
sur laquelle elle est exécutée.
Options principales :
-m : affiche le type de la machine.
-n : affiche le nom de la machine.
-r : affiche le numéro de version du système.
-s : affiche le nom du système.
-a : affiche toutes les informations ci-dessus.
95
QUELQUES COMMANDES
96
QUELQUES COMMANDES
Exemple:
97
98
Gestion des
utilisateurs sous
Linux
99
Gestion des utilisateurs sous Linux
Notion d’utilisateur
• Linux est un système multi-utilisateur, c’est-à-dire que plusieurs utilisateurs
peuvent avoir un compte et travailler en même temps.
• Chaque utilisateur dispose d’un certain nombre de privilèges vis-à-vis le
système.
⇒ Il a des droits d’accès à des fichiers et parfois il n’a pas ces droits pour
d’autres fichiers.
• Ces droits concernent la lecture, l’écriture et l’exécution d’un fichier.
10
Gestion des utilisateurs sous Linux
Types de comptes
• Les comptes utilisateur ne sont pas tous égaux sur
Linux. On distingue trois types :
⇒ Super-utilisateur (root)
⇒ Comptes systèmes
⇒ Comptes ordinaires
10
Gestion des utilisateurs sous Linux
Types de comptes
• Super-utilisateur (root): c’est l’utilisateur le plus important du système du
point de vue de l’administration.
⇒ Il n’est pas concerné par les droits d’accès aux fichiers.
⇒ Son UID égal à 0 (zéro).
⇒ Il a à sa charge les tâches d’administration du système.
• Comptes système: On trouve sur le système toute une série de comptes
qui ne sont pas affectés à des personnes (bin, daemon, sync, apache…).
⇒ Ceux-ci servent à faciliter la gestion des droits d’accès de certaines
application.
⇒ Les UID compris entre 1 et 999 sont généralement utilisés pour ces comptes
10
Gestion des utilisateurs sous Linux
Types de comptes
• Exemple:
Tapez la commande suivante:
10
Gestion des utilisateurs sous Linux
Types de comptes
• Exemple: cat /etc/passwd | awk -F: '$3 < 1000 { print $1 }’
• $
cat permet d’afficher un contenu
/etc/passwd : contient des informations sur les comptes d'utilisateurs du système,
Le caractére « | » (appelé "pipe" en anglais) est utilisé pour rediriger la sortie
d'une commande vers l'entrée d'une autre commande.
"awk" pour filtrer la sortie de la commande "cat /etc/passwd" et afficher
uniquement les comptes système.
10
Gestion des utilisateurs sous Linux
Types de comptes
• Exemples:
id -u root
10
Gestion des utilisateurs sous Linux
Types de comptes
• Exemples:
id -u root
10
Gestion des utilisateurs sous Linux
Types de comptes
• Exemple:
getent passwd 0 | cut -d: -f1
10
Gestion des utilisateurs sous Linux
Types de comptes
• Résultat de la commande cut -d: -f3 /etc/passwd
10
Gestion des utilisateurs sous Linux
Types de comptes
• Résultat de la commande cut -d: -f3 /etc/passwd ?
10
Gestion des utilisateurs sous Linux
Types de comptes
• L'utilisateur "nobody" est un utilisateur système commun sous Linux. Il est
utilisé pour exécuter des processus qui ne nécessitent pas de privilèges
particuliers, tels que les processus du serveur web Apache ou d'autres
démons système.
• L'utilisateur "nobody" est également utilisé pour les connexions réseau qui
n'ont pas été associées à un compte d'utilisateur existant. Par exemple, si un
client se connecte à un serveur sans fournir d'informations d'identification,
la connexion sera attribuée à l'utilisateur "nobody".
11
Gestion des utilisateurs sous Linux
Types de comptes
• En général, les comptes système sous Linux ont des UID qui sont réservés à
cet effet et qui sont inférieurs à 1000. Cela permet de distinguer facilement
les comptes système des comptes d'utilisateurs normaux, dont les UID sont
généralement supérieurs à 1000.
• En effet, la plupart des distributions Linux utilisent une plage d'UIDs réservés
pour les comptes système allant de 0 à 999, ou de 1 à 999, ce qui signifie que
si l'UID de "nobody" était compris dans cette plage, cela pourrait causer des
problèmes de permission pour d'autres comptes système.
111
Gestion des utilisateurs sous Linux
Types de comptes
• Est-ce que je peux créer un compte système?
11
Gestion des utilisateurs sous Linux
Types de comptes
• Essayez de taper la commande: getent passwd 11
11
Gestion des utilisateurs sous Linux
Types de comptes
• Comptes ordinaires: Tous les autres comptes utilisateur sont associés à des
personnes;
⇒ leur vocation est de permettre à des utilisateurs standard de se connecter.
⇒ L’UID d’un utilisateur sera un nombre supérieur ou égal à 1000
11
Gestion des utilisateurs sous Linux
Exécuter en tant qu’administrateur
• Ceci étant un travail d’administration du système, un utilisateur ordinaire
ne peut pas accéder à ces droits d’administration.
• Pour cela, nous aurons souvent à utiliser la commande sudo (Substitute
User DO) qui permet à un utilisateur d'exécuter des commandes qui ne
peuvent être utilisées que par le super- utilisateur.
• Elle s'utilise comme suit : $ sudo commande
• Le mot de passe de votre compte est alors demandé afin que le système
vérifie votre identité.
11
Gestion des utilisateurs sous Linux
Les utilisateurs et les droits
• Mais!!!! On pourrait être tenté d'utiliser le super-utilisateur (root) comme
une session, afin de ne pas avoir à changer d'utilisateur lorsqu'il faut
reconfigurer le système.
• C’est possible, Mais Il ne faut pas faire cela !!!
• En effet, avec le super utilisateur, une mauvaise manipulation peut causer la
perte irrémédiable de tout ou partie de vos données ou rendre la machine
inutilisable !
• Mais avec la substitution d’utilisateur par sudo c’est plutôt une manière de
vous dire et de vous rappeler : Est ce que vous êtes sûre que vous voulez faire
ceci?!
11
Gestion des utilisateurs sous Linux
Les utilisateurs et les droits
• Sous Windows, Si vous êtes connectés en tant qu’administrateur (équivalent
de root), vous êtes susceptible d’êtes attaqués
• Sous Linux, un virus ne peut rien faire de plus que vous quand vous êtes
connectés avec des droits limités, En revanche, si vous êtes connectés en tant
que root il pourra tout faire, même détruire votre ordinateur.
11
Gestion des utilisateurs sous Linux
Ouvrir un terminal en mode root (devenir root un instant)
• Utiliser sudo pour exécuter une seule commande ne cause pas un réel
désagrément, mais il peut être désagréable de l'utiliser pour exécuter une
longue procédure nécessitant plusieurs interventions en mode super
utilisateur (root).
11
Gestion des utilisateurs sous Linux
Ouvrir un terminal en mode root (devenir root un instant)
• Pour vous servir d'un terminal root :
⇒ Ouvrez une fenêtre de terminal ;
⇒ Saisissez la commande suivante : utilisateur@ordinateur:~$ sudo -i
⇒ Saisissez votre mot de passe à l'invite de saisie de mot de passe ;
⇒ Exécutez votre série de commandes d'administration ;
⇒ Fermez la session root : root@ordinateur:~# exit ou Ctrl+D
11
Gestion des utilisateurs sous Linux
sudo su : devenir root et le rester
• Si vous tapez sudo su, vous passerez root indéfiniment.
• Le symbole # à la fin de l'invite de commandes vous indique que vous êtes
devenus super-utilisateur.
• Pour quitter le « mode root », tapez exit (ou faites la combinaison Ctrl + D).
12
Gestion des utilisateurs sous Linux
Création d’un compte utilisateur
• La commande useradd permet d’ajouter un nouvel utilisateur sans spécifier
aucune information sur ce compte (UID, mot de passe,…)
12
Gestion des utilisateurs sous Linux
Création d’un compte utilisateur
• La commande useradd permet d’ajouter un nouvel utilisateur sans spécifier
aucune information sur ce compte (UID, mot de passe,…)
12
Gestion des utilisateurs sous Linux
Création d’un compte utilisateur
• Un compte d'utilisateur sans mot de passe est inactif : aucun usager ne peut
ouvrir de session avec ce compte tant qu'un mot de passe ne lui a pas été
attribué.
• On peut créer un utilisateur sans mot de passe avec la commande:
sudo adduser --disabled-password nouvel_utilisateur
12
Gestion des utilisateurs sous Linux
Création d’un compte utilisateur
12
Gestion des utilisateurs sous Linux
Création d’un compte utilisateur
12
Gestion des utilisateurs sous Linux
Création de comptes utilisateurs
• Le fichier /passwd définit dans /etc/ contient tous les comptes utilisateurs du
système:
12
Gestion des utilisateurs sous Linux
Supprimer un compte utilisateur:
12
Gestion des utilisateurs sous Linux
Supprimer un compte utilisateur:
• La commande seule ne supprime pas le répertoire
personnel de rayane. Si vous voulez supprimer aussi son home et tous ses
fichiers personnels, utilisez le paramètre -r :
12
Gestion des utilisateurs sous Linux
Fichier de gestion des utilisateurs
• L'ensemble des informations qui caractérisent les paramètres fondamentaux
de la connexion d’un utilisateur, y compris de l'utilisateur root, sont définies
dans le fichier /etc/passwd.
• C'est ce fichier que le système consulte lorsque vous vous connectez à votre
compte en tapant votre identifiant et mot de passe.
• Le fichier /etc/passwd est un fichier de type texte dont chaque ligne définit un
compte utilisateur.
• La ligne est composée de champs. Le séparateur de champs est le caractères
":".
12
Gestion des utilisateurs sous Linux
Fichier de gestion des utilisateurs
• Ce fichier contient des champs de texte séparés par : et qui respecte le format
suivant:
• nom_du_compte : mot_de_passe : numero_utilisateur :
numero_de_groupe : commentaire : répertoire : programme_de_demarrage
⇒ nom du compte = identifiant de l'utilisateur
⇒ mot de passe = mot de passe de l'utilisateur. Celui-ci est crypté
• * : il est impossible de s'authentifier sur le système avec ce compte.
• !! : le compte est désactivé.
• x ou ! : le mot de passe est dans un fichier shadow.
• champ vide : il n'y a pas de mot de passe pour ce compte.
13
Gestion des utilisateurs sous Linux
Fichier de gestion des utilisateurs
• nom_du_compte : mot_de_passe : numero_utilisateur : numero_de_groupe :
commentaire : répertoire : programme_de_demarrage
⇒ numéro utilisateur = le UID. Cet identifiant est unique. Les valeurs supérieures à
1000 sont pour les comptes utilisateurs
• L'utilisateur root possède l'UID 0.
• Les UID inférieurs à 1000 sont réservés aux comptes système.
⇒ numéro de groupe = un entier qui identifie le groupe de l'utilisateur. C'est un
identifiant unique appelé GID (Groupe Identifier).
⇒ commentaire = des informations sur l'utilisateur.
⇒ répertoire = le répertoire dans lequel se retrouve l'utilisateur après s'être
connecté.
⇒ programme_de_demarrage = le shell par défaut qui sera associé à ce compte
13
Gestion des utilisateurs sous Linux
Fichier de gestion des utilisateurs
13
Gestion des utilisateurs sous Linux
Notion de groupe
• Sous Linux, un groupe est un ensemble d’utilisateurs qui partagent les
mêmes fichiers et répertoires.
• Un utilisateur doit appartenir au moins à un groupe (groupe initial
défini au moment de la création).
• Il peut appartenir à un ou plusieurs groupes secondaires mais le rôle du
groupe initial reste prépondérant.
• Chaque groupe doit disposer d'un nom, d'un ID (le GID) et d’une liste des
noms d'utilisateur appartenant au groupe.
• Un GID identifie le groupe en interne sur le système
13
Gestion des utilisateurs sous Linux
Types de groupes
• Les deux types de groupes auxquels un utilisateur peut appartenir sont les
suivants :
⇒ Groupe principal : groupe assigné par le système d'exploitation aux
fichiers créés par l'utilisateur. Chaque utilisateur doit appartenir à un groupe
principal
⇒ Groupes secondaires : groupes auxquels un utilisateur peut appartenir.
Les utilisateurs peuvent appartenir à un nombre maximal de 15 groupes
secondaires.
• Pour cela, il existe un fichier qui comporte les noms des groupes existants
dans votre système.
13
Gestion des utilisateurs sous Linux
Types de groupes
• Le fichier /etc/group contient les informations relatives aux groupes présents
sur le système.
• Il contient la liste des utilisateurs appartenant aux différents groupes.
• La syntaxe d'une ligne est : ⇒ nom_de_groupe : Mot de passe :
numero_du_groupe : membre1, membre2…
13
Gestion des utilisateurs sous Linux
Commandes de gestion de groupes
• Connaître les groupes d’un utilisateur
⇒ # groups nom_utilisateur ou # id nom_utilisateur
• Créer un groupe
• La commande est de la forme :
⇒ # groupadd groupe
• Exemple :
⇒ # groupadd famille
• Ajouter un utilisateur à un groupe
⇒ # gpasswd -a nom_utilisateur nom_groupe
• Supprimer un groupe
⇒ # groupdel nom_groupe
13
Gestion des utilisateurs sous Linux
Options de la commande useradd
• Création d’un compte avec les options de configuration :
137
Gestion des utilisateurs sous Linux
Options de la commande useradd
138
Gestion des utilisateurs sous Linux
Options de la commande useradd
• Exemple1: Création d’un compte avec les options de configuration :
13
Gestion des utilisateurs sous Linux
Modifier les propriétés d’un compte « usermod »
• Pour modifier les propriétés d’un compte déjà créé, on peut utiliser la
commande
usermod dont le fonctionnement est très similaire à useradd.
14
Gestion des utilisateurs sous Linux
Modifier les propriétés d’un compte « usermod »
• Modifier le groupe:
14
Gestion des utilisateurs sous Linux
Gestion des propriétaire d’un fichier
• Seul l'utilisateur root peut changer le propriétaire d'un fichier.
14
Gestion des utilisateurs sous Linux
Gestion des propriétaire d’un fichier
chown peut aussi changer le groupe propriétaire d'un fichier
14
Gestion des utilisateurs sous Linux
Gestion des propriétaires d’un fichier
Par la commande chown –R tous les fichiers à l'intérieur du dossier de
zakariae, désormais appartiennent à karim
chown -R propriétaire[:groupe] dossier
14
Gestion des utilisateurs sous Linux
Les droits d’accès
• Chaque fichier et chaque dossier possède une liste de droits. C'est une liste
qui indique qui a le droit de voir le fichier, de le modifier et de l'exécuter.
• Linux possède un mécanisme de gestion des droits d’accès ⇒ il est possible
pour un propriétaire de fichier de donner ou d’omettre aux autres utilisateur
quelques droits.
• Les permissions constituent un système simple de définition des droits
d'accès aux fichiers.
14
Gestion des utilisateurs sous Linux
Les droits d’accès
• Ces permissions sont consultables complètement par la commande:
14
Gestion des utilisateurs sous Linux
Les droits d’accès
• On explique les droits suivants:
14
Gestion des utilisateurs sous Linux
Modifier des droits d’accès
• On utilise chmod pour modifier les droits accordés aux
utilisateurs.
• Contrairement aux commandes précédentes, vous n'avez
pas besoin d'être root pour utiliser chmod. Vous devez
juste être propriétaires du fichier dont vous voulez
modifier les droits d'accès.
⇒ mode symbolique
⇒ mode absolu
14
Gestion des utilisateurs sous Linux
Modifier des droits d’accès
15
Gestion des utilisateurs sous Linux
Modifier des droits d’accès (Méthode absolue Octale)
15
Gestion des utilisateurs sous Linux
Modifier des droits d’accès (Méthode absolue Octale)
15
Gestion des utilisateurs sous Linux
Modifier des droits d’accès (Méthode absolue Octale)
15
Gestion des utilisateurs sous Linux
Modifier des droits d’accès (Méthode absolue Octale)
• Exemple:
15
Gestion des utilisateurs sous Linux
Modifier des droits d’accès (méthode symbolique)
u ⇒ user
g ⇒ group
o ⇒ others
a ⇒ all
15
Gestion des utilisateurs sous Linux
Modifier des droits d’accès (méthode absolue symbolique)
❑ Exemple: droit d’accès sur le fichier fich3.txt
u ⇒ user : rwx
g ⇒ group: rw- chmod u=rwx, g=rw, o=rx fich3.txt
o ⇒ others: r-x
u ⇒ user : rwx
g ⇒ group: r-- chmod u=rwx, g=r, o=- fich3.txt
o ⇒ others: ---
15
Gestion des utilisateurs sous Linux
Modifier des droits d’accès (méthode absolue symbolique)
15
Gestion des utilisateurs sous Linux
Modifier des droits d’accès (méthode relative symbolique)
• Exemples:
• Pour ajouter le droit d’exécution au propriétaire (User)
Chmod u+x fichier
• Pour enlever le droit d’écriture au utilisateurs du groupe(Group)
Chmod g-w fichier
• Pour ajouter les droits de lecture et exécution au autres (Others)
Chmod o+rx fichier
• Pour affecter les droits de lecture et exécution au propriétaire (User)
Chmod u=r-x fichier
15
Gestion des utilisateurs sous Linux
Modifier des droits d’accès (méthode relative symbolique)
• Exemple:
Fich3.txt
rwx r-x r-x rw- rwx r--
15
Gestion des utilisateurs sous Linux
Exercice: