Vous êtes sur la page 1sur 194

Résolution Numérique en électromagnétisme

Faire l'étude des concepts et programmes de bases (commandes) permettant


d'utiliser le système d'exploitation Linux
Objectif pédagogique 1 : l’étudiant doit connaitre après ce cours les concepts
fondamentaux de Linux et UNIX.
Compétences ciblées 2 : L’étudiant doit acquérir les compétences pour réaliser
les tâches de base sur la ligne de commande :
Manipulation des fichiers
Redirection et tubes (pipes) ;
Manipulation des données textuelles
Manipulation des processus et les droits des utilisateurs
...

Dr K. GUEYE
Introduction aux systèmes d’exploitation
Pourquoi un cours sur le système d'exploitation Linux ?

Le système d'exploitation est le premier programme chargé dans un système


Informatique

La connaissance Linux est essentielle dans certaines carrières en Informatique

Linux porte l'empreinte génétique des premiers systèmes d'exploitations


Ce cours ouvre une porte vers les logiciels libres.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Qu'est-ce qu'un système d'exploitation?

Répondre complètement à cette question n'est pas simple. De manière pratique, le système
d'exploitation est le logiciel le plus important de la machine, puisqu'il fournit :

une gestion des ressources de celle-ci : processeurs, mémoires, disques, horloges,


périphériques, communication inter-processus et inter-machines ;
une base pour le développement et l'exécution de programmes d'application.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Qu'est-ce qu'un système d'exploitation?
Pourquoi étudier les systèmes d'exploitation?

Tout programme est concerné : il est important d'appréhender la façon dont fonctionne
un système d'exploitation pour améliorer l'efficacité de ses propres programmes ;

Tout programmeur est susceptible de rencontrer les mêmes problèmes de mise en œuvre
dans son propre domaine : pas la peine de réinventer la roue.

C'est un sujet intéressant en soi, dont l'objectif est la recherche de l'efficacité, nécessitant
une étude théorique approfondie mais dont l'objectif est la fourniture de solutions
réalisables en pratique : c'est une excellente approche du métier d'ingénieur !
Dr. Kéba GUEYE
Introduction aux systèmes d’exploitation
Qu'est-ce qu'un système d'exploitation?
Problématique
Pour que les programmes puissent s'exécuter de façon portable et efficace, il faut
pouvoir gérer simultanément :
 la multiplicité des différentes ressources ;
 la complexité des composants de chacune d'elles, qui requiert la prise en compte de nombreux détails
embêtants, sources de bogues.
Ne sont pas des systèmes d'exploitation :
 l'interprète de commandes ;
 le système de fenêtrage ;
 les utilitaires (cp, chmod, uptime, . . . ) ;
 le compilateur (ni sa bibliothèque) ;
 l'éditeur. . .
Dr. Kéba GUEYE
Introduction aux systèmes d’exploitation
Qu'est-ce qu'un système d'exploitation?
Problématique

En fait, tous ces programmes s'exécutent dans un mode non privilégié, car ils n'ont pas
besoin d'un accès privilégié au matériel. En revanche, le système d'exploitation
fonctionne typiquement en mode privilégié, pour pouvoir accéder a toutes les
fonctionnalités du processeur. Ainsi, le système d'exploitation est protégé par le matériel
contre les erreurs de manipulation (mais il existe des systèmes d'exploitation s'exécutant
sur du matériel non protégé, comme par exemple le DOS sur les anciens IBM PC).

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Qu'est-ce qu'un système d'exploitation?
Fonctionnalités d'un système d'exploitation

Un système d'exploitation a pour but :


 de décharger le programmeur d'une tâche de programmation énorme et fastidieuse, et de
lui permettre de se concentrer sur l'écriture de son application ;
 de protéger le système et ses usagers de fausses manipulations;
 d'offrir une vue simple, uniforme, et cohérente de la machine et de ses ressources.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Qu'est-ce qu'un système d'exploitation?
Fonctionnalités d'un système d'exploitation

Un système d'exploitation a pour but :


 de décharger le programmeur d'une tâche de programmation énorme et fastidieuse, et de
lui permettre de se concentrer sur l'écriture de son application ;
 de protéger le système et ses usagers de fausses manipulations;
 d'offrir une vue simple, uniforme, et cohérente de la machine et de ses ressources.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Structure d'un système informatique moderne

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Structure d'un système informatique moderne

Le matériel : fournit les ressources de calcul


 CPU, Mémoire, Périphériques d'entrées sorties (souris, claviers, écran,disques)
Le système d'exploitation: contrôle et coordonne l'utilisation des ressoureces par les
applications et les utilisateurs
Les applications: offre des solutions pour résoudre les besoins de calcul des utilisateurs
 Bureautique, compilateurs, Navigateurs Web, base de données, jeux vidéos, . . .
Les utilisateurs ! Personnes, d'autres ordinateurs, . . .

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Système d'exploitation (Operating System)
Définition
Un système d'exploitation est un logiciel qui permet aux utilisateurs :
d'utiliser les logiciels installés sur l'ordinateur
d'acceder aux périphériques de manière simple (imprimante, clavier, souris, . . . )
de stocker et traiter les données et les informations brutes.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Système d'exploitation (Operating System)
Les systèmes d'exploitations les plus connus du grand public sont :
Microsoft Windows
Mac OS X
Linux qui fait partie de la famille des OS Unix
Android

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Services d'un système d'exloitation
Les systèmes d'exploitations fournissent un environnement pour l’éxecution des
programmes des utilisateurs
Interface utilisateurs
Environnement d'execution des programmes
Opérations d'entrée-sortie
Manipulation du système de fichier
Support de communication à travers le réseau
Mecanisme de detection d'erreurs.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Découverte du système GNU/Linux
Présentation d’UNIX
UNIX est un système d’exploitation moderne, complet et efficace, disponible sur la
plupart des ordinateurs vendus, du PC au super calculateur Cray. C’est pourtant un
système ancien, puisque son histoire remonte à la fin des années 60. Son architecture
ouverte et sa grande diffusion dans les centres de recherches et les universités lui ont
permis d’évoluer en intégrant de nombreuses améliorations.
Aujourd’hui, UNIX est très utilisé en informatique scientifique, et pour les serveurs
réseaux : la grande majorité des serveurs sur Internet fonctionnent sous UNIX. Par
contre, sa relative complexité d’utilisation l’écarte des applications grand public.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Découverte du système GNU/Linux
Architecture générale du système
UNIX est un système d’exploitation multi-tâche multi-utilisateurs. Le fonctionnement
multi-tâche est assuré par un mécanisme préemptif : le système interrompt
autoritairement la tâche en cours d’exécution pour passer la main à la suivante ; ceci
évite tout risque de bloquage du système à la suite d’une erreur survenant dans un
programme utilisateur.
La cohabitation simultanée de plusieurs utilisateurs est rendue possible par un
mécanisme de droits d’accès s’appliquant à toutes les ressources gérées par le système
(processus, fichiers, périphériques, etc.).

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Découverte du système GNU/Linux
Présentation d’UNIX
Un système d'exploitation Unix est composé de 4 couches :
 Le kernel(noyau) : cœur du système qui gère l'accès au matériel, l'execution des applications sur le processeur
et fournit l'environnement un environnement d'execution des processus à l'utilisateur
 les API : fournissent une interface aux programmeurs pour avoir accès aux fonctionnalités du système
d'exploitation
 Les outils et utilitaires : un ensemble de logiciels spécialisés avec des noms standards permettant de faire les
tâches au quotidien (les commandes)
 Le Shell : permet aux utilisateurs de lancer les utilitaires

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Découverte du système GNU/Linux
Présentation d’UNIX
Un système d'exploitation Unix est composé de 4 couches :

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Découverte du système GNU/Linux
Présentation d’UNIX
Versions du Kernel Linux
La numérotation des versions de Linux suit une logique bien précise : Versions antérieures
à la 2.6

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Découverte du système GNU/Linux
Présentation d’UNIX
Versions du Kernel Linux
La numérotation des versions de Linux suit une logique bien précise : Versions à partir la
version 2.6, jusqu'à la version 3.0.0 ?

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Distributions Linux
Définition
Les distributions rassemblent les composants d'un système dans un ensemble cohérent et
stable dont l'installation, l'utilisation et la maintenance sont facilitées.
Une distribution (GNU/)Linux est un package offrant :
 Le Kernel Linux généralement avec des personnalisations (mineures)
 Un dépot de logiciels (libre ou non) avec un système de gestion de logiciels
 (Package Manager)
 (Eventuellement) Des logiciels spéciques à la distribution (Conguration, . . . )
 ...

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Distributions Linux
Définition
Une distribution (GNU/)Linux est un package offrant :
Plus de 200 distributions classables en trois catégories :
 Distributions généralistes complètes (Fedora, Debian, . . . )
 Distributions spécialisées (E.g Ipcof pour le firewalling)
 Distributions de test ou LiveCD (E.g Knoppix)

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Utilisations communes de Linux
 Linux est utilisé par ses 40 millions d'adeptes pour mettre en place :
 Les serveurs d'Internet (WEB, Routage, FTP, Firewall, DNS, . . . )
 Les serveurs d'impressions et de chiers
 Les serveurs d'applications
 Les supercalculateurs (Clustering)
 Les stations de travail pour calcul scientique (Physique, Astronimie
 Mathématiques,. . . )
 Les stations de travail bureautiques
. . .

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Shell Unix
Un Shell est :
Un programme qui permet aux utilisateurs de lancer d'autres programmes
Une couche logicielle servant d'interface entre les utilisateurs et le système
d'exploitation Unix
Une des innovations majeures d'Unix a été la séparation du système
d'exploitation et du Shell

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Shell Unix
Il existent deux types de Shells :
 Shells en mode texte :
 Entrées sous forme de textes (les commandes)
 Sorties textuelles formatées ou non
 Utilisation orientée administration
 Autres appelations : Terminal, Console, . . .

 Shells graphiques :
 Entrées sous plusieurs formes : texte, souris, touch, . . .
 Sorties aux formats quelconque : fenêtres, . . .
 Utilisations comme ordinateur personnel (bureautique, . . . )
 Autres appelations : GUI, Gestionnaire de Bureau
L'emploi du mot Shell sous Unix, sans autre précision, fait généralement référence aux Shells orientés texte (pour des raisons
historiques. . . )

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Les Shells Linux
 Bourne Shell ou sh
Porte le nom de son créateur Steven Bourne
correspond au programme sh
 C shell ou csh
Shell dont la syntaxe du langage de script est proche du langage C
 GNU Bourne-Again SHell ou bash
Une version GNU du Bourne Shell
Le Shell le plus répendu dans les distributions Linux
. . .
la liste des Shells installés sur station Unix est disponible avec la commande :
> cat /etc/shells
Dr. Kéba GUEYE
Introduction aux systèmes d’exploitation
Emulateurs de Shell ou terminal
Les environnements graphiques de Linux proposent des émulateurs de Shell : Xterm, Konsole,
Gnome-terminal, . . .

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Qu'est ce qu'une commande Unix ?
une commande est un programme réalisant une tâche spécique et pouvant être
exécutée par un utilisateur (au sens large).

Exemple : ls -l /home/sra/
ls est la commande (que faire ?)
-l est une option (comment faire ?)
/home/sra/ est le paramètre transmis à la commande (sur quoi faire ?)

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Qu'est ce qu'une commande Unix ?
Le résultat de l'exécution d'une commande est :
 soit un affichage de texte
 soit une modifiation du système
 soit les deux

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Types de commandes et la commande <type>
Il existe trois types de commandes
 Les commandes internes au Shell (elles sont installées en même temps que le Shell)
 Les commandes externes au Shell : installées par l'utilisateur ou faisant partie de la distribution
 Les alias qui sont des speudos commandes basées sur les autres commandes existantes
La commande type permet de connaitre le type d'une commande

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Commandes de manipulation de fichiers
ls - Lister les noms des fichiers
La commande ls (abréviation de list), lorsqu'on la tape au clavier, demande au
système d'afficher la liste des noms des fichiers que l'on possède (équivalent de dir
sous DOS).

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Commandes de manipulation de fichiers
more - Afficher le contenu d'un fichier
Pour voir le contenu d'un fichier, le plus efficace est d'utiliser la commande more
qui admet en paramètre le nom du fichier concerné - on peut aussi utiliser la
commande cat que nous verrons plus loin.
more /home/sra/nom_du_fichier
cat - Concaténer des fichiers
Théoriquement destinée à concaténer des fichiers, elle est aussi utilisée pour
afficher tout le contenu d'un fichier en une fois - on l'utilise aussi pour créer de
nouveaux fichiers ou des fichiers vides. Commande pouvant être comparée à la
commande type sous DOS. cat /home/sra/nom_du_fichier
Dr. Kéba GUEYE
Introduction aux systèmes d’exploitation
Commandes de manipulation de fichiers
cp - Copier un fichier
La duplication de fichier n'est pas chose anodine pour tout un chacun, cela permet
d'avoir une sauvegarde.
mv - Déplacer et renommer un fichier
Cette commande est similaire au Ren du DOS, permettant de renommer un nom de
fichier ou de le déplacer, Move sous DOS.
rm - Détruire un fichier
ATTENTION - avec les systèmes Linux il n'y a aucun moyen de récupérer un
fichier supprimé. rm nom_du_fichier

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Commandes de manipulation de fichiers
grep - Recherche dans un fichier
Cette commande permet de rechercher toutes les lignes du fichier contenant
l'expression recherchée
Grep mot_recherché chemin où se trouve le fichier
cd - Changement de répertoire
Pour changer de répertoire on disposes de la commande cd.
cd /home/sra

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Commandes de manipulation de fichiers
mkdir - Création de répertoire
Les répertoire sont un moyen très utiles pour classer vos fichiers, pour en créer on
utilise la commande mkdir.
mkdir TP
rmdir - Destruction de répertoire
On peut détruire un répertoire depuis le répertoire père à l'aide la commande
rmdir. Un répertoire non vide ne peut être vidé avec cette commande sans
options, pour cela on utilise les options -r (récurssif) et -f (force).
rmdir TP rmdir /home/sra/TP rm -rf /home/sra/tmp

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Commandes de manipulation de fichiers
pwd - Comment connaître le répertoire courrant
A force de se déplacer dans l'arborescence on fini par ne plus savoir où l'on est, ce
n'est pas que valable pour les débutants. Pour cela on utilise la commande pwd.
pwd

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Autres commandes de base
clear - Efface l'écran
Clear
df -Espace disque df [Entrée]
Sans paramètre optionnel, df affiche l'espace disque disponible sur tous les
systèmes de fichiers montés. Pour avoir l'aide, tapez ceci :
df –help et/ou man df

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Autres commandes de base
gzip - Compression et décompression de fichiers
Différentes distributions incluent des packages portant l'extention : .tar.gz .tgz ou
.gz. Ce sont des fichiers compressés à l'aide l'utilitaire gzip. Pour les décompresser
on doit utiliser l'option -d :
gzip -d fichier.tgz
Pour compresser un fichier on tape la commande gzip suivit du nom du fichier à
compresser :
gzip fichier
On obtient l'aide de gzip comme ceci :
gzip -help
Dr. Kéba GUEYE
Introduction aux systèmes d’exploitation
Autres commandes de base
kill - Tuer un processus
kill pid - pid = n° du processus à tuer.
diff - Comparer deux fichiers
Cette commande compare deux fichiers et affiche les modifications à faire pour le
rendre identique à l'autre.
diff ancien nouveau
diff compta.txt compta2.txt
On obtient l'aide comme ceci : diff -help

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Autres commandes de base
/dev/lpt - Dirige un fichier vers l'imprimante
Cette commande est associée à cat et imprime le fichier vers le port parallèle
désigné.
cat compta.txt > /dev/lpt0

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Autres commandes de base
tar - Création d'archive
Les distributions Linux utilisent le plus souvent les archives tar combinées avec
gzip. On les reconnait à leurs extentions .tar (archive tar), .tar.gz ou .tgz (archive
tar compressée avec gzip. Syntaxe générale :
tar options archives
Lister le contenu de l'archive : tar tvf archives tar tvfz archives
Décompresser : tar xvf archives tar zxvf archives

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Autres commandes de base
tar - Création d'archive
Création d'archive :
tar zcvf archives.tgz fichiers_à_archiver
tar cvf archives
Obtenir l'aide de tar : tar -help
man tar

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des utilisateurs sous GNU/Linux
Notion d’utilisateurs et de groupes sous GNU/Linux
Qui est utilisateur ?
Le système, dès son installation, avant même la première connexion au système a créé
des users système.
Un utilisateur n'est donc pas uniquement une personne physique, le système a besoin
d'utilisateurs pour sa gestion interne, notamment comme propriétaire des divers
processus.
La commande ps aux | less montre qu'avant toute connexion d'utilisateur humain
(repérée par les lignes login --user), root a lancé init, et la plupart des services, crond,
xinetd, lpd, smbd, ... , avant de lancer les connexions utilisateurs dans les consoles, y
compris éventuellement la sienne !
Dr. Kéba GUEYE
Introduction aux systèmes d’exploitation
Gestion des utilisateurs sous GNU/Linux
Notion d’utilisateurs et de groupes sous GNU/Linux
Les principales commandes

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des utilisateurs sous GNU/Linux
Gestion des utilisateurs et des groupes sous GNU/Linux
Créer un compte pour un nouvel utilisateur
Cela signifie lui permettre d'être connu du poste local, s'y loguer, avoir un
accès complet sur son rép. personnel.

Mais aussi dans une configuration réseau, de pouvoir se connecter à son


compte par telnet et ftp, et de pouvoir bénéficier de services réseau de partage
distant (sous Linux par NFS et sous Windows 9x par SMB).

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des utilisateurs sous GNU/Linux
Gestion des utilisateurs et des groupes sous GNU/Linux
Créer un compte pour un nouvel utilisateur
Pour créer l'utilisateur stagex, root passe la commande :
useradd stagex
Ceci crée :
 le répertoire personnel /home/stagex, portant par défaut le nom du compte
 une nouvelle entrée dans les 2 fichiers fondamentaux /etc/passwd et
/etc/group.
 Pour connaître les options de useradd : man useradd
Dr. Kéba GUEYE
Introduction aux systèmes d’exploitation
Gestion des utilisateurs sous GNU/Linux
Gestion des utilisateurs et des groupes sous GNU/Linux
Créer un compte pour un nouvel utilisateur
 Pour lui attribuer le mot de passe :
passwd stagex
saisir 2 fois stgx
Supprimer le compte d'un utilisateur (non connecté), au hasard .. totox.
userdel [-r] totox
L'option -r supprime aussi le rép. personnel et les fichiers de l'utilisateur
La commande supprime toute trace de l'utilisateur dans le fichier de configuration :
/etc/passwd y compris dans les groupes d'utilisateurs.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des utilisateurs sous GNU/Linux
Gestion des utilisateurs et des groupes sous GNU/Linux
Créer un compte pour un nouvel utilisateur
Modifier le compte de l'utilisateur toto
usermod [options] totox
Les options sont les mêmes que useradd
usermod -G stagiaire,prof stagex ajoute stagex dans les 2 groupes stagiaire et profs
(qui doivent exister)

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des utilisateurs sous GNU/Linux
Gestion des utilisateurs et des groupes sous GNU/Linux
Créer un compte pour un nouvel utilisateur
Remarques
 Attention : si root passe la commande passwd il s'apprête à redéfinir son
propre mot de passe !
 Un utilisateur quelconque ne peut pas créer de compte, même s'il a le privilège
de faire partie du groupe root.
 Par contre, il peut modifier lui-même son mot de passe.
 Voir les diverses options avec useradd -h
 Pour une gestion sous interface graphique, utilisez l’outil linuxconf
Dr. Kéba GUEYE
Introduction aux systèmes d’exploitation
Gestion des utilisateurs sous GNU/Linux
Gestion des utilisateurs et des groupes sous GNU/Linux
Créer un compte pour un nouvel utilisateur
Remarques
 Attention ! Le compte créé permet à l'utilisateur d'accéder au système de
fichier Linux (avec des droits que nous verrons). Pour pouvoir se connecter au
réseau SAMBA, à partir d'une station distante Windows9x, il faut créer un
compte Samba avec l'utilitaire smbpasswd.
A noter que linuxconf semble créer automatiquement les comptes Linux et Samba
conjointement.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des utilisateurs sous GNU/Linux
Gestion des utilisateurs et des groupes sous GNU/Linux
Créer un compte pour un nouvel utilisateur
Les groupes
 Un groupe est, aussi pour Linux, un ensemble d'utilisateurs qui partagent les mêmes
fichiers et répertoires. Nous verrons que les fichiers accordent des droits d'accès
réglables à ces groupes.
 Chaque utilisateur doit faire partie au moins d'un groupe, son groupe primaire. Celui-ci
est défini au moment de la création du compte, et par défaut, l'utilisateur appartient à un
nouveau groupe créé, portant son nom.
 Ainsi, dans /etc/passwd chaque utilisateur possède un groupe par défaut, précisé par
son identifiant gid dans ce fichier.
Dr. Kéba GUEYE
Introduction aux systèmes d’exploitation
Gestion des utilisateurs sous GNU/Linux
Gestion des utilisateurs et des groupes sous GNU/Linux
Créer un compte pour un nouvel utilisateur
Les groupes
 L'appartenance au groupe primaire n'étant pas exclusive, tout utilisateur peut faire partie
de plusieurs autres groupes, appelés ses groupes secondaires. Mais le rôle joué par le
groupe primaire demeure prépondérant, comme nous le verrons dans le système des
permissions des fichiers.
 Pour lister tous les groupes (primaire et secondaires) d'un utilisateur :
groups stagex
 Pour créer un nouveau groupe groupadd stagiaire

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des utilisateurs sous GNU/Linux
Gestion des utilisateurs et des groupes sous GNU/Linux
Créer un compte pour un nouvel utilisateur
Les groupes
 Supprimer un groupe, au hasard .. encore totox.
groupdel totox
Le groupe est supprimé du fichier /etc/group.
 Pour ajouter un utilisateur à un groupe
Le plus simple est d'éditer le fichier /etc/group et d'ajouter une liste d'utilisateurs (séparés
par des virgules) sur la ligne du groupe (ou utiliser Linuxconf).

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des utilisateurs sous GNU/Linux
Gestion des utilisateurs et des groupes sous GNU/Linux
Créer un compte pour un nouvel utilisateur
Visite des coulisses
 Tout ce qui concerne la gestion et l'authentification des utilisateurs est inscrit
dans un seul fichier /etc/passwd
 La gestion des groupes est assurée par /etc/group
 Les mots de passe cryptés sont maintenant placés dans /etc/shadow, par
sécurité lisible seulement par root.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des utilisateurs sous GNU/Linux
Gestion des utilisateurs et des groupes sous GNU/Linux
Créer un compte pour un nouvel utilisateur
Structure de /etc/passwd
Ce fichier comprend 7 champs, séparés par le symbole :
1. nom de connexion
2. ancienne place du mot de passe crypté
3. numéro d'utilisateur uid, sa valeur est le véritable identifiant pour le système
Linux; l'uid de root est 0, le système attribut conventionnellement un uid à partir
de 500 aux comptes créés.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des utilisateurs sous GNU/Linux
Gestion des utilisateurs et des groupes sous GNU/Linux
Créer un compte pour un nouvel utilisateur
Structure de /etc/passwd
Ce fichier comprend 7 champs, séparés par le symbole :
4. numéro de groupe gid, dans lequel se trouve l'utilisateur par défaut; le gid de
root est 0, des groupes d'utilisateurs au delà de 500
5.nom complet, il peut être suivi d'une liste de renseignements personnels
6. rép. personnel (c'est également le rép. de connexion)
7. shell, interprétateur de commandes (par défaut /bin/bash)

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des utilisateurs sous GNU/Linux
Gestion des utilisateurs et des groupes sous GNU/Linux
Créer un compte pour un nouvel utilisateur
Structure de /etc/group
Ce fichier comprend 4 champs, séparés par le symbole :
1. nom du groupe
2. x pour remplacer un mot de passe non attribué maintenant
3. numéro de groupe, c-à-d l'identifiant gid
4. la liste des membres du groupe

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des utilisateurs sous GNU/Linux
Gestion des utilisateurs et des groupes sous GNU/Linux
Créer un compte pour un nouvel utilisateur
Outils de gestion des comptes
Linuxconf
Se connecter comme root et lancer linuxconf en ligne de commande (on pourrait
utiliser linuxconf sous X-KDE)
Section Comptes utilisateurs

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des utilisateurs sous GNU/Linux
Gestion des utilisateurs et des groupes sous GNU/Linux
Créer un compte pour un nouvel utilisateur
Outils de gestion des comptes
Linuxconf
Section Comptes utilisateurs
Sélectionner un compte et examiner sa définition actuelle sous l'interface de Linuxconf
Comparer avec son entrée dans /etc/passwd

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des utilisateurs sous GNU/Linux
Gestion des utilisateurs et des groupes sous GNU/Linux
Créer un compte pour un nouvel utilisateur
Outils de gestion des comptes
Linuxconf
 Ajouter un nouveau compte (stagey/stgy) en donnant seulement les nom de
login et nom complet
A la validation, on observe que Linuxconf exécute 2 commandes useradd et chage.
Puis on est averti que le mot de passe a bien été enregistré dans passwd et
smbpasswd

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des utilisateurs sous GNU/Linux
Gestion des utilisateurs et des groupes sous GNU/Linux
Créer un compte pour un nouvel utilisateur
Outils de gestion des comptes
Linuxconf
 Pour connaitre le rôle de chage, consulter le manuel et le fichier /etc/shadow
Créer maintenant un autre compte (toto) en précisant le groupe primaire (zig),
et des groupes secondaires (stagiaire).
Examiner la syntaxe des 2 lignes de commandes exécutées ( /usr/sbin/useradd et
/usr/bin/chage

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des utilisateurs sous GNU/Linux
Gestion des utilisateurs et des groupes sous GNU/Linux
Créer un compte pour un nouvel utilisateur
Outils de gestion des comptes
Linuxconf
 Si le rep. de base n'est pas spécifié, par défaut création et attribution de
/home/stagex
 On peut tout de suite placer l'utilisateur dans une liste de groupes (sans virgule)

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des utilisateurs sous GNU/Linux
Gestion des utilisateurs et des groupes sous GNU/Linux
Créer un compte pour un nouvel utilisateur
Outils de gestion des comptes
Compléments
 La structure d'une ligne de /etc/passwd et de /etc/group
 login:x:uid:gid:commentaires:home:shell
 groupe:x:gid:liste-groupes-secondaires
 Options de la commande useradd (pour détails cf man useradd)
Nous avons jusqu'ici utilisé cette commande avec ses options par défaut.
Dr. Kéba GUEYE
Introduction aux systèmes d’exploitation
Gestion des utilisateurs sous GNU/Linux
Gestion des utilisateurs et des groupes sous GNU/Linux
Créer un compte pour un nouvel utilisateur
Outils de gestion des comptes
Compléments
 La maitrise de cette commande est indispensable pour écrire des scripts de
génération automatique de comptes.
Syntaxe : useradd [options] nom_login
Exemple : useradd toto -u 1200 -p moi -g 520 -G groupes -s /bin/bash

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des utilisateurs sous GNU/Linux
Gestion des utilisateurs et des groupes sous GNU/Linux
Créer un compte pour un nouvel utilisateur
Outils de gestion des comptes

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des utilisateurs sous GNU/Linux
Gestion des utilisateurs et des groupes sous GNU/Linux
Créer un compte pour un nouvel utilisateur
Outils de gestion des comptes
 La recopie du répertoire /etc/skel est très important pour l'administrateur, car il
lui permet de configurer de façon uniforme les sessions de travail des
utilisateurs.
C'est ainsi que tous les utilisateurs qui passe en mode graphique KDE hérite du
même bureau.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des utilisateurs sous GNU/Linux
Gestion des utilisateurs et des groupes sous GNU/Linux
Créer un compte pour un nouvel utilisateur
Outils de gestion des comptes
 La recopie du répertoire /etc/skel est très important pour l'administrateur, car il
lui permet de configurer de façon uniforme les sessions de travail des
utilisateurs.
C'est ainsi que tous les utilisateurs qui passe en mode graphique KDE hérite du
même bureau.
 Pour examiner les valeurs par défaut appliquées par useradd :
commande useradd -D ou éditer /etc/default/useradd
Dr. Kéba GUEYE
Introduction aux systèmes d’exploitation
Gestion des utilisateurs sous GNU/Linux
Gestion des utilisateurs et des groupes sous GNU/Linux
Créer un compte pour un nouvel utilisateur
Outils de gestion des comptes
 GROUP=100 identifiant du groupe primaire
 HOME=/home racine des rép. personnels
 INACTIVE=-1 (nb de jours avant destruction du compte
 EXPIRE= nb de jours avant expiration du mot de passe
 SHELL=/bin/bash shell de connexion attribué au compte
 SKEL=/etc/skel fichiers recopiés par défaut dans chaque rép. personnel
Dr. Kéba GUEYE
Introduction aux systèmes d’exploitation
Gestion des utilisateurs sous GNU/Linux
Gestion des utilisateurs et des groupes sous GNU/Linux
Créer un compte pour un nouvel utilisateur
Outils de gestion des comptes
 La commande passwd
Elle est chargée du cryptage du mot de passe dans /etc/shadow
Syntaxe : passwd [option] nom-login
Options

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des utilisateurs sous GNU/Linux
Gestion des utilisateurs et des groupes sous GNU/Linux
Créer un compte pour un nouvel utilisateur
Outils de gestion des comptes
 La commande passwd
Options
 --stdin, la commande abandonne son caractère interactif habituel et examine son entrée standard
pour s'en servir comme mot de passe.
Très utile dans un script : echo mot | passwd –stdin (attention tout caractère est significatif, y compris
les " ")

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des utilisateurs sous GNU/Linux
Gestion des utilisateurs et des groupes sous GNU/Linux
Créer un compte pour un nouvel utilisateur
Outils de gestion des comptes
 La commande passwd
Options
 -d , pour supprimer le mot de passe, l'utilisateur pourra se connecter sans !
 -l , pour verrouiller le compte et empêcher sa connexion.
 -u , pour déverrouiller.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des utilisateurs sous GNU/Linux
Gestion des utilisateurs et des groupes sous GNU/Linux
Créer un compte pour un nouvel utilisateur
Outils de gestion des comptes
Connaitre l'uid et le gid de l'utilisateur courant
Commande id
uid=0(root) gid=0(root) groups=0(root)

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des utilisateurs sous GNU/Linux
Gestion des utilisateurs et des groupes sous GNU/Linux
Créer un compte pour un nouvel utilisateur
Outils de gestion des comptes
Pour décrire un utilisateur : chfn
Cette commande permet d'indiquer dans le champ numéro 5 du fichier
/etc/passwd différentes informations sur un utilisateur, son nom complet, son
bureau, ses numeros de téléphone (séparées par des virgules).

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des utilisateurs sous GNU/Linux
Gestion des utilisateurs et des groupes sous GNU/Linux
Créer un compte pour un nouvel utilisateur
Outils de gestion des comptes
Cryptage des mots de passe
Pour des questions de sécurité, les mots de passe cryptés ne sont stockés dans
/etc/passwd qui doit être accessible en lecture par tous
La commande /usr/sbin/pwconv est chargée de transférer les mots de passes
cryptés, dans /etc/shadow. Pour plus de détails , consulter man pwconv

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des utilisateurs sous GNU/Linux
Gestion des utilisateurs et des groupes sous GNU/Linux
Créer un compte pour un nouvel utilisateur
Outils de gestion des comptes
Cryptage des mots de passe
Pour des questions de sécurité, les mots de passe cryptés ne sont stockés dans
/etc/passwd qui doit être accessible en lecture par tous
La commande /usr/sbin/pwconv est chargée de transférer les mots de passes
cryptés, dans /etc/shadow. Pour plus de détails , consulter man pwconv

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Présentation des principaux répertoires du système
Il n'existe pas de norme d'organisation du système de fichiers, mais un standard est
à peu près suivi par les différentes distributions de Linux.
L'organisation traditionnelle du répertoire racine est décrite dans le tableau
suivante :

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Présentation des principaux répertoires du système

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Présentation des principaux répertoires du système
Le répertoire de base / s'appelle : répertoire racine (root) par analogie avec la
racine d'un arbre représentant le système de fichiers.
Il n'est pas standard d'ajouter des répertoires au niveau de la racine.
Ce système de fichiers peut résider sur différentes partitions, différents supports
physiques ou sur d'autres machines sur le réseau. Ce découpage est complètement
transparent pour les utilisateurs du système de fichiers. Les différentes parties
peuvent être connectées au démarrage du système ou à la demande, en cours
d'utilisation.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Arborescence standard des systèmes d’exploitation UNIX
La plupart des systèmes d’exploitation Unix (GNU/Linux, BSD, MacOS…)
utilisent une arborescence de base standardisée (seul Windows utilise une
arborescence réellement différente)
Vous pouvez la consulter en faisant : man hier (pour hierarchy)

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Le répertoire /etc
Ce répertoire contient les fichiers de configuration du système. On trouve les sous-
répertoires suivants :

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Arborescence standard des systèmes d’exploitation UNIX
Chaque utilisateur possède un répertoire de connexion (home directory) Accessible via la variable
HOME

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Arborescence standard des systèmes d’exploitation UNIX
Chaque utilisateur possède un répertoire de connexion (home directory) Accessible via la variable
HOME

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Le répertoire /etc
Ce répertoire contient les fichiers de configuration du système. On trouve les sous-
répertoires suivants :

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Le répertoire /home
Le répertoire /home contient les répertoires des utilisateurs logés sur cette
machine. Chaque utilisateur possède son propre répertoire, mais il est possible de
créer des structures de groupes de travail en organisant les sous-répertoires.
Le répertoire /usr
Le répertoire /usr contient de nombreux sous-répertoires. On retrouve presque la
même organisation que sous la racine, mais le contenu est destiné aux utilisateurs
plus qu'au système lui-même.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Le répertoire /usr
La structure de /usr est la suivante :

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Le répertoire /usr
Xwindow est l'environnement graphique d'Unix. Il est très flexible et configurable
et possède des fonctionnalités rarement vues dans d'autres environnements.
On retrouve, dans ce répertoire, une hiérarchie de fichiers ressemblant à celle de la
racine, mais dédiée à l'environnement Xwindow.
/usr/local doit contenir les outils installés en dehors du contexte de la distribution.
On retrouve une hiérarchie complète semblable à /usr.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Le répertoire /var
Le répertoire /var contient les données variables du système, c'est-àdire les fichiers
propres à l'installation réalisée sur cette machine.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Le répertoire /var
Le répertoire log contient les fichiers de trace de fonctionnement du système. Une
grande partie du travail d'administration consiste à suivre les enregistrements afin
de détecter les mauvais fonctionnements. Le programme logrotate permet de
conserver un historique des fichiers. Il existe des outils de gestion des fichiers de
trace pour permettre, entre autres, la détection des intrusions sur le système.
Le répertoire spool contient des sous-répertoires de gestion des spoolers
d'impression (lpd), de courriers (mail), de forums (news), etc.
Ces sous répertoires peuvent contenir, momentanément, des fichiers de taille
importante.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Le répertoire /var
Le répertoire log contient les fichiers de trace de fonctionnement du système. Une
grande partie du travail d'administration consiste à suivre les enregistrements afin
de détecter les mauvais fonctionnements. Le programme logrotate permet de
conserver un historique des fichiers. Il existe des outils de gestion des fichiers de
trace pour permettre, entre autres, la détection des intrusions sur le système.
Le répertoire spool contient des sous-répertoires de gestion des spoolers
d'impression (lpd), de courriers (mail), de forums (news), etc.
Ces sous répertoires peuvent contenir, momentanément, des fichiers de taille
importante.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Le système de fichiers sur disque
Organisation des disques
Une machine peut posséder plusieurs disques
Et chaque disque peut être scindé en plusieurs partitions
Utile pour installer plusieurs systèmes d’exploitation ou pour augmenter
l’indépendance entre les données utilisateurs et le système d’exploitation
Chaque partition possède son système de fichiers indépendant.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Le système de fichiers sur disque
Organisation des disques

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Le système de fichiers sur disque
Les partitions dans les systèmes UNIX
Un disque est identifié par le préfixe sd (scsi drive)
Les disques sont numérotés a, b, c…
Les partitions sont numérotées 1, 2, 3…
(vous pouvez voir les disques/partitions en faisant ls /dev)

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Le système de fichiers sur disque
Les partitions dans les systèmes UNIX

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Le système de fichiers sur disque
Le système de fichiers sur disque
3 concepts fondamentaux
 Le bloc : unité de transfert entre le disque et la mémoire (souvent 4096 octets)
 L’inode (index node) : descripteur d’un fichier
 Type de l’inode (fichier ordinaire, répertoire, autres)
 Propriétaire, droits, dates de création/modification/accès
 Taille
 Liste des blocs du contenu du fichier
…
 Donc, dans ce cours : fichier = inode + blocs du fichier
Dr. Kéba GUEYE
Introduction aux systèmes d’exploitation
Gestion des fichiers
Le système de fichiers sur disque
Montage d’une partition
Le système maintient une table des montages qui associe des chemins (points de
montage) et des disques
 / ⇒ sda1
 /home ⇒ sdb1
 /mnt/windows ⇒ sdb2
Lorsqu’un processus accède à un point de montage, il accède à l’inode racine du disque indiqué dans la
table des montages. Par exemple cd /mnt/windows accède à l’inode racine de sdb2

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Le système de fichiers sur disque
Montage d’une partition

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Le système de fichiers sur disque
Lien direct
Le nom d’un inode dans un répertoire s’appelle un lien direct (hard link en anglais,
aussi appelé parfois lien dur, physique ou matériel)
On peut créer plusieurs liens directs vers le même inode
Commande ln chem-cible chem-lien
Aucune différence entre le nom original et le nouveau nom
Facilite l’accès à des fichiers à partir d’emplacements connus
ln /home/sra/apollinaire.txt /home/Toto/pedro.txt

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Le système de fichiers sur disque
Lien direct
Mais faire de multiples liens directs pour faire des raccourcis peut poser problème
 Pour supprimer un fichier, il faut supprimer tous les liens directs vers son
inode, mais les utilisateurs sont distraits et en oublient
 Un lien direct ne peut référencer qu’un inode de la même partition

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Le système de fichiers sur disque
Notion de lien symbolique
Pour faire des raccourcis on utilise aussi des liens symboliques
Comme ln –s chem-cible chem-lien
 Fichier spécial (type lien) dont le contenu est un chemin cible
 Lorsque le système doit ouvrir le fichier, il ouvre la cible à la place de
l’original
ln –s /home/sra/apollinaire.txt /home/Toto/pedro.txt

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Le système de fichiers sur disque
Notion de lien symbolique
Avantages des liens symboliques
 Dès que le fichier cible est détruit, son espace est libéré (ouvrir le lien symbolique engendre alors
une erreur)
 Un lien symbolique peut référencer un fichier quelconque, y compris appartenant à une autre
partition
Principal inconvénient des liens symboliques
 En cas de déplacement du fichier cible, le lien symbolique peut devenir invalide

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Types de fichiers et Permissions d'accès aux fichiers
Types de fichiers
Les différents types de fichiers sous Linux sont :
 les fichiers normaux : ce sont des collections d'octets. Il n'existe pas de différence entre
les fichiers texte et les fichiers binaires.
 les répertoires : ce sont des fichiers contenant les noms des fichiers et leurs numéros
d'inode.
 les liens symboliques : permettent de présenter une image d'un fichier sous un autre
nom ou à un autre endroit sans dupliquer les données.
 les fichiers spéciaux en mode bloc : sont les portes sur les périphériques fonctionnant
par blocs de données (ex : disques).
Dr. Kéba GUEYE
Introduction aux systèmes d’exploitation
Gestion des fichiers
Types de fichiers et Permissions d'accès aux fichiers
Types de fichiers
Les différents types de fichiers sous Linux sont :
 les fichiers spéciaux en mode caractère : sont les portes vers les périphériques
fournissant ou consommant les données octet par octet.
 les tubes nommés "fifo" : permettent à deux processus sans relation de parenté de
s'échanger des données comme par un tube.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Types de fichiers et Permissions d'accès aux fichiers
Droits d’accès
Toute opération sur un fichier est soumise à droits d’accès
 Message d’erreur « Permission non accordée »
3 types d’accès
r : droit de lecture
 Si répertoire, consultation de ses entrées (c.-à-.d, ls autorisé)
 Sinon, consultation du contenu du fichier

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Types de fichiers et Permissions d'accès aux fichiers
Droits d’accès
Toute opération sur un fichier est soumise à droits d’accès
 Message d’erreur « Permission non accordée »
3 types d’accès
w : droit d’écriture
 Si répertoire, droit de création, de renommage et de suppression d’une entrée dans le répertoire
 Sinon, droit de modification du contenu du fichier
x :
 si répertoire, droit de traverser (c.-à-.d., cd autorisé)
 sinon, droit d’exécution
Dr. Kéba GUEYE
Introduction aux systèmes d’exploitation
Gestion des fichiers
Types de fichiers et Permissions d'accès aux fichiers
Droits d’accès
Linux permet de spécifier les droits d'action sur un fichier, que peuvent exercer les
utilisateurs des 3 catégories, ou plutôt les permissions que leurs accordent les fichiers et les
répertoires
3 catégories d’utilisateurs :
 Propriétaire (u)
 Groupe propriétaire (g)
 Tous les autres (o)
Chaque catégorie possède ses types d’accès r w x
Dr. Kéba GUEYE
Introduction aux systèmes d’exploitation
Gestion des fichiers
Types de fichiers et Permissions d'accès aux fichiers
Droits d’accès
De façon générale, ces permissions sont consultables complètement par la commande : ls -l
Rappel : ll est un alias plus court, pour la commande ls –l

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Types de fichiers et Permissions d'accès aux fichiers
Droits d’accès
De façon générale, ces permissions sont consultables complètement par la commande : ls -l
Rappel : ll est un alias plus court, pour la commande ls –l

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Types de fichiers et Permissions d'accès aux fichiers
Droits d’accès

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Types de fichiers et Permissions d'accès aux fichiers
Droits d’accès – modification
 Modification sur un fichier existant
chmod droit fichier : change mode
 Droits à !appliquer! au fichier
Catégories : u, g, o ou a (= all c.-à-.d., ugo)
Opérations : Ajout (+), retrait (-), affectation (=)

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Types de fichiers et Permissions d'accès aux fichiers
Droits d’accès – modification

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Types de fichiers et Permissions d'accès aux fichiers
Droits d’accès – modification

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Types de fichiers et Permissions d'accès aux fichiers
Droits d’accès – modification

Dans l’exemple suivant, on ajoute le droit d'écriture au propriétaire, on retire le


droit d'exécution aux membres du groupe propriétaire et on définit les droits de
lecture et d'exécution à tous les autres utilisateurs.

Ls -l

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Types de fichiers et Permissions d'accès aux fichiers
Droits d’accès – modification
Bien que les permissions du répertoire aient été modifiées, les permissions des
fichiers contenus dans ce répertoire n'ont pas changé.
Avec l'option –R, les permissions sont propagées aux fichiers se trouvant dans le
répertoire.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Types de fichiers et Permissions d'accès aux fichiers
Droits d’accès – modification
Notation numérique des droits
La syntaxe de la commande chmod peut très vite s’avérer lourde à utiliser. Pour
remédier à cela, il est possible d’utiliser des valeurs numériques pour chacun des
droits.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Types de fichiers et Permissions d'accès aux fichiers
Droits d’accès – modification
Notation numérique des droits
Chaque permission est donc définie en faisant la somme des droits à attribuer(ex. :
l'autorisation de lecture et d'écriture devient 4 + 2 = 6). Pour chaque entité,on
attribue un chiffre qui définit les nouvelles permissions. On définis ainsi le pro-
priétaire, le groupe et les autres.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Types de fichiers et Permissions d'accès aux fichiers
Droits d’accès – modification
Notation numérique des droits
Dans cet exemple, les permissions sont donc :
– les droits de lecture, écriture et exécution (4+2+1 = 7) au propriétaire ;
– les droits de lecture et d'exécution (4+1 = 5) au groupe ;
– les droits de lecture et d'exécution (4+1 = 5) aux autres.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Types de fichiers et Permissions d'accès aux fichiers
Droits d’accès initiaux
Droits par défaut et umask
 Lors de la création d’un fichier ou d’un répertoire, des droits par défaut sont appliqués. Ces droits sont inscrits
dans le système et ne peuvent être changés.
Par défaut, les valeurs sont les suivantes :
 Un fichier : 666
 Un dossier : 777
Le système permet d'appliquer un filtre de droit lors de la création d'un fichier ou d'un dossier. Ce filtre est une valeur
numérique qui sera soustraite aux droits par défaut afin de définir les droits attribués à un fichier. Ce filtre se nomme
l'umask, et est par défaut configuré à 022. Il est possible d'échanger la valeur de l'umask par la commande umask
suivie de la valeur à définir.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Types de fichiers et Permissions d'accès aux fichiers
Droits d’accès initiaux
Droits par défaut et umask
EXEMPLE
L'umask a été défini à 002. Les permissions par défaut seront ainsi 664(666-002) pour un
fichier et 775 (777-002) pour un répertoire.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Types de fichiers et Permissions d'accès aux fichiers
Droits d’accès initiaux
Droits par défaut et umask
EXEMPLE

Dans cet exemple, la valeur de l'umask était de 022. Le premier fichier créé a donc été
défini avec des droits mis à 644 (666-022).
Une fois l'umask modifié à 200, les droits du fichier suivant sont à 466 (666-200)

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Types de fichiers et Permissions d'accès aux fichiers
Permissions spéciales
En plus des trois droits applicables, il existe d’autres permissions spéciales permettant une gestion
avancée des autorisations :
 Le SUID (Set User ID) : sous un système Linux, une commande dispose des mêmes droits d’accès
aux fichiers que l’utilisateur qui a démarré la commande. Le SUID permet l’autorisation de
l’identifiant du propriétaire lors de l’exécution d’un programme. Ceci permet de déléguer des droits
sans pour autant donner trop de droits à l’utilisateur.
 Le SGID (Set Group ID) : c’est en fait l’équivalent du SUID, mais applicable aux groupes.
 Le Sticky Bit : cette permission a pour principale caractéristique d’autoriser uniquement le
propriétaire d’un dossier à le supprimer. Ce droit devient intéressant lors de travail sur des dossiers
en réseau.
Dr. Kéba GUEYE
Introduction aux systèmes d’exploitation
Gestion des fichiers
Types de fichiers et Permissions d'accès aux fichiers
Permissions spéciales
EXEMPLE Pour appliquer le SUID à un fichier, on utilise la commande chmod avec l'option u+s :

Après application du SUID, le résultat de la commande ls –l sera :

On note que le x de l'exécution du propriétaire est remplacé par s

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Types de fichiers et Permissions d'accès aux fichiers
Permissions spéciales
EXEMPLE Pour appliquer le SGID à un fichier, on utilise la commande chmod avec l'option g+s :

Ainsi, lors d'un listage complet, on obtiendra :

On note que le x de l'exécution du propriétaire est remplacé par s.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Types de fichiers et Permissions d'accès aux fichiers
Permissions spéciales
EXEMPLE Pour appliquer le Sticky Bit à un fichier, on utilise la commande chmod avec l'option +t :

Ainsi, lors d'un listage complet, on obtiendra :

On note que le r de lecture du propriétaire est remplacé par t.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Types de fichiers et Permissions d'accès aux fichiers
Permissions spéciales
EXEMPLE
Ces trois permissions spéciales peuvent également être utilisées sous forme numérique en utilisant la
convention exposée dans le tableau

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Types de fichiers et Permissions d'accès aux fichiers
Permissions spéciales
EXEMPLE
Pour appliquer à un fichier : SUID et Sticky Bit ; lecture, écriture et exécu-tion pour le propriétaire ;
lecture et exécution pour le groupe ; lecture pourles autres. Nous écrirons :

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Types de fichiers et Permissions d'accès aux fichiers
Outils de gestion de l’arborescence

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Types de fichiers et Permissions d'accès aux fichiers
Visualisation et édition de texte

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gestion des fichiers
Types de fichiers et Permissions d'accès aux fichiers
Visualisation et édition de texte

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gérer les archives compressées
Qu’est-ce qu’une archive compressée et à quoi cela peut-il bien servir ?
Si le terme de compression ne vous évoque absolument rien, imaginez une grande
marmite pleine de soupe.
Vous lui faites subir toute une série de processus, vous la déshydratez... et vous
obtenez une boîte de bouillons cubes que vous pouvez transporter assez aisément.
Autre image, qui illustre davantage le terme d’archivage, pensez à votre dernier
déménagement. Toute la vaisselle, toutes les casseroles, tous les bibelots sur les
étagères se sont retrouvés bien empaquetés et ficelés dans des cartons.
Il suffisait alors d’appeler les copains pour faire quelques allers-retours entre
l’appartement et le camion.
Dr. Kéba GUEYE
Introduction aux systèmes d’exploitation
Gérer les archives compressées
Les différents formats d’archivage
 Les archives compressées sont omniprésentes dans le quotidien informatique et elles sont utilisées
à des fins très variées.
À titre d’exemple, lorsque vous souhaitez envoyer vos photos de vacances par courrier
électronique, il sera bien plus commode d’envoyer une archive plutôt que d’ajouter chaque photo
individuellement en pièce jointe.
 Étant donné que, de nos jours, la taille moyenne des photos – c’est-à-dire leur poids en mégaoctets
– est assez importante, vous utiliserez plutôt un service de transfert de fichiers en ligne et, dans
certains cas, la confection préalable d’une archive sera obligatoire.
 Une archive compressée représente également le format idéal pour effectuer une sauvegarde de vos
données.
 Enfin, l’utilisation de fichiers compressés pour le transfert sur Internet vous fait économiser de la
bande passante.
Dr. Kéba GUEYE
Introduction aux systèmes d’exploitation
Gérer les archives compressées
Les différents formats d’archivage
Si vous avez l’habitude de Windows, vous avez certainement déjà croisé des fichiers .zip et
.rar sur votre disque.
Ces types de fichiers ne sont pas inconnus à Linux, mais les deux formats d’archives
compressées les plus largement répandus sous ce système sont les fichiers.tar.gz et .tar.bz2.
Derrière ces extensions, quelque peu énigmatiques pour un néophyte, se cachent en réalité
trois programmes, trois petits outils. tar rassemble plusieurs fichiers et répertoires en une
archive, gzip et bzip2 se chargent de la compression.
Ces formats sont très bien gérés par les différents systèmes d’exploitation. Linux sait gérer
les archives au format .zip et .rar grâce aux outils unzip et unrar. Inversement, lorsque vous
travaillez sous Windows, vous trouverez des outils libres pour traiter les archives au
format.tar.gz et .tar.bz2.
Dr. Kéba GUEYE
Introduction aux systèmes d’exploitation
Gérer les archives compressées
Les différents formats d’archivage
Compresser et décompresser un fichier
Compresser et décompresser un fichier avec gzip
gzip (GNU Zip) constitue l’outil de compression standard sous Linux. Il fait une
chose et une seule : gérer la compression de fichiers simples. Il ne sait pas
constituer des archives, c’est tar qui s’en charge. Cherchons dans notre système un
fichier au hasard, sur lequel nous pourrions nous entraîner :

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gérer les archives compressées
Les différents formats d’archivage
Compresser et décompresser un fichier
Compresser et décompresser un fichier avec gzip
L’affichage détaillé nous montre qu’il s’agit d’un fichier texte de détaille : 15 kilo-
octets. Essayons de le compacter :
gzip remplace le fichier d’origine par une version plus compacte, comportant
l’extension defichier supplémentaire .gz :

Dans cet exemple, la compression est assez conséquente : le fichier résultant est environ trois fois plus petit que l’original.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gérer les archives compressées
Les différents formats d’archivage
Compresser et décompresser un fichier
Compresser et décompresser un fichier avec gzip
La compression varie selon un certain nombre de facteurs. gzip n’aura pas
beaucoup d’effet sur des formats de fichiers comportant une compression initiale,
comme le MP3 ou le JPEG. En revanche, il fonctionnera très bien avec les fichiers
au format texte simple ou les images Bitmap non compressées.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gérer les archives compressées
Les différents formats d’archivage
Compresser et décompresser un fichier
Compresser et décompresser un fichier avec gzip
Pour décompresser un fichier .gz, vous avez deux possibilités :

Ou alors, ce qui revient exactement au même :

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gérer les archives compressées
Les différents formats d’archivage
Compresser et décompresser un fichier
Compresser et décompresser un fichier avec bzip2
L’outil bzip2 est un outil de compression au même titre que gzip, au détail près
qu’il utilise un algorithme un peu plus performant.
L’outil bzip2 ne fait pas partie de notre installation minimale.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gérer les archives compressées
Les différents formats d’archivage
Compresser et décompresser un fichier
Compresser et décompresser un fichier avec bzip2
Reprenons l’exemple précédent, avec le fichier services :

Il en résulte un fichier compressé portant l’extension de fichier supplémentaire


.bz2. Regardons ce fichier de plus près :

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gérer les archives compressées
Les différents formats d’archivage
Compresser et décompresser un fichier
Compresser et décompresser un fichier avec bzip2
Pour décompresser un fichier compacté à l’aide de bzip2, nous avons également le
choix entredeux commandes, qui ont exactement le même effet :

Ou

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gérer les archives compressées
Les différents formats d’archivage
Manipuler les archives avec tar
Créer une archive avec tar
gzip et bzip2 ne gèrent que la compression d’un seul fichier fourni en argument.
Pour créer une archive, nous aurons recours à la commande tar. Là aussi, un
exemple pratique nous aidera à comprendre le fonctionnement de l’outil en
question.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gérer les archives compressées
Les différents formats d’archivage
Manipuler les archives avec tar
Créer une archive avec tar
Pour commencer, il nous faut un répertoire contenant quelques fichiers.
Je crée donc, au hasard, un répertoire ~/config et j’y place tous les fichiers *.conf
que je trouve dans l’arborescence de /etc en faisant fi des avertissements relatifs
aux droits d’accès.
Vous pourrez vous en passer.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gérer les archives compressées
Les différents formats d’archivage
Manipuler les archives avec tar
Créer une archive avec tar

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gérer les archives compressées
Les différents formats d’archivage
Manipuler les archives avec tar
Créer une archive avec tar
Nous allons rassembler tous ces fichiers contenus dans ~/config pour en constituer
une archive avec la commande tar :

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gérer les archives compressées
Les différents formats d’archivage
Manipuler les archives avec tar
Créer une archive avec tar
Le nom du programme (tape archiver) révèle son utilisation initiale : tar a servi en
premier lieu à la gestion d’archives sur bande magnétique. Voici une petite
explication de l’exemple que nous venons de voir :
 tar reçoit l’ordre de créer (create) une archive avec l’option -c ;
 la commande nous dit ce qui se passe en coulisse avec l’option-v ;
 le premier argument (config.tar) sera interprété comme le nom de l’archive
grâce à l’option-f (file).
Dr. Kéba GUEYE
Introduction aux systèmes d’exploitation
Gérer les archives compressées
Les différents formats d’archivage
Manipuler les archives avec tar
Créer une archive avec tar
Voici un exemple plus général pour vous familiariser avec la syntaxe de tar pour la
création d’une archive. Nous créons trois fichiers fichier1, fichier2 et fichier3 et
les rassemblons dans un fichier archive.tar :

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gérer les archives compressées
Les différents formats d’archivage
Manipuler les archives avec tar
Extraire les fichiers d’une archive
Avant de « déballer » notre archive, nous allons la déplacer dans un répertoire
nouvellement créé. En effet, étant donné que les fichiers d’origine sont toujours en
place, une extraction dans le même répertoire ne changerait rien et écraserait tous
les fichiers existants.
Dans l’autre sens, c’est donc
l’option-x (extract) qui procède
au dépaquetage de l’archive.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gérer les archives compressées
Les différents formats d’archivage
Manipuler les archives avec tar
Combiner l’archivage et la compression
Essayons de créer une archive compressée en reprenant l’exemple du début. Nous pouvons très bien :
 créer l’archive avec tar ;
 compresser l’archive avec gzip ou bzip2.
Voici ce que cela donnerait en pratique :

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gérer les archives compressées
Les différents formats d’archivage
Manipuler les archives avec tar
Combiner l’archivage et la compression
Et avec bzip2 :

Cependant, il est possible de faire encore plus simple. tar comporte une série d’options qui
servent à créer une archive et la compresser à la volée.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gérer les archives compressées
Les différents formats d’archivage
Manipuler les archives avec tar
Combiner l’archivage et la compression
Effacez les archives compressées de l’exercice précédent et gardez seulement le répertoire
~/config et son contenu.
Maintenant, créez une archive compressée avec les options suivantes :

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gérer les archives compressées
Les différents formats d’archivage
Manipuler les archives avec tar
Combiner l’archivage et la compression
Si vous souhaitez créer une archive compressée avec bzip2, il suffira de remplacer l’option
-zpar -j

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gérer les archives compressées
Les différents formats d’archivage
Manipuler les archives avec tar
Combiner l’archivage et la compression
Notez la différence de taille entre les deux archives :

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gérer les archives compressées
Les différents formats d’archivage
Manipuler les archives avec tar
Extraire une archive compressée
Inversement, l’extraction d’une archive compressée peut également s’effectuer d’une traite
:• pour une archive .tar.gz :

• et pour une archive .tar.bz2 :

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gérer les archives compressées
Les différents formats d’archivage
Manipuler les archives avec tar
Extraire une archive compressée
Remarque
Les options de tar sont souvent utilisées sans le tiret initial. Vous pouvez donc
écrire de la même façon tar -xvjf ou tar xvjf, cela n’a aucune incidence sur le
fonctionnement de la commande.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gérer les processus

La gestion des processus de Linux vous permet, par exemple, d’héberger des sites
web, d’envoyer et de recevoir du courrier pour plusieurs domaines, de faire
tourner un serveur de messagerie instantanée en même temps qu’une webradio, le
tout sur une seule et même machine. Chaque programme que vous démarrez
devient un processus. Si vous démarrez le même programme plusieurs fois, il en
résultera une série de processus.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gérer les processus
Linux, un système multitâche
Linux est un système multitâche, ce qui veut dire que vous pouvez exécuter des
programmes en parallèle, comme bon vous semble. Chaque programme occupe une
certaine quantité de ressources, notamment de mémoire vive (RAM) et de processeur
(CPU). Par conséquent, un nombre croissant de processus a pour effet de ralentir le
système.
Tous ces programmes ne tournent pas vraiment en même temps, à proprement parler.
Chaque processus reçoit un peu de temps de calcul, à tour de rôle, et cette répartition des
ressources s’effectue tellement rapidement que l’utilisateur humain a l’illusion que tout se
passe simultanément. Tous les processus sont soigneusement séparés les uns des autres, ce
qui signifie qu’une application mal codée qui « plante » n’entraînera pas le reste du système
dans sa déconfiture.
Dr. Kéba GUEYE
Introduction aux systèmes d’exploitation
Gérer les processus
Linux, un système multitâche
Tous les systèmes Linux contiennent une série d’outils pour surveiller et gérer les
processus. Nous allons en présenter quelques-uns en détail, sous forme d’un atelier pratique
agrémenté d’un zeste de théorie

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gérer les processus
Linux, un système multitâche
Surveiller un processus : ps
Connectez-vous à votre console Linux – directement et tapez la commande

Elle vous retourne un petit bilan qui ressemble au résultat ci-après. Ne vous
inquiétez pas si les numéros ne sont pas les mêmes que sur ma machine. C’est
normal
Dr. Kéba GUEYE
Introduction aux systèmes d’exploitation
Gérer les processus
Linux, un système multitâche
Surveiller un processus : ps
La commande ps présente en quelque sorte un cliché instantané des processus en
cours. Invoquée sans autre argument, elle se limite aux processus de la console
active.
Ce qui nou sintéresse ici, ce sont les deux colonnes PID et CMD. PID (Process
IDentifier) est un nombre unique qui identifie un processus sans ambiguïté. Quant
à la colonne CMD (Command), elle correspond à la commande qui a déclenché le
processus.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gérer les processus
Linux, un système multitâche
Surveiller un processus : ps
La colonne TTY nous indique le terminal à partir duquel le processus a été lancé.
Dans l’exemple précédent, pts/0 correspond à mon terminal graphique, étant
donné que je me suis connecté à distance depuis mon ordinateur portable. Si
j’avais invoqué la commande ps directement dans la première console, le résultat
aurait ressemblé à quelque chose comme ceci :

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gérer les processus
Linux, un système multitâche
Surveiller un processus : ps
Enfin, TIME indique le temps processeur utilisé par le processus, ce qu’il ne faut
pas confondre avec le temps réel écoulé depuis le lancement du processus.
L’information 00:00:00 signifie tout simplement que bash et ps utilisent tout au
plus une fraction de seconde de temps CPU depuis leur lancement, ce qui est tout
à fait normal.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gérer les processus
Linux, un système multitâche
Surveiller un processus : ps
Dans notre exemple, le shell Bash « tourne » avec le PID 2709. La commande ps
qui est également un processus affiche le PID 3211. Tous les processus en cours
ont reçu un identifiant unique se situant entre 1 et 32 767. Chaque nouveau
processus se voit attribuer le prochain PID disponible. Lorsqu’un processus est
terminé d’une façon ou d’une autre (voir ci-après), il libère son PID. Une fois que
le PID maximum est atteint, le prochain nouveau processus sera doté du plus petit
identifiant disponible.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gérer les processus
Linux, un système multitâche
Afficher les processus en cours
Maintenant que nous avons compris le principe, essayons d’aller un peu plus loin.
La commande ps accepte un certain nombre d’arguments, dont voici les plus
fréquemment utilisés. Notez qu’ils sont invoqués sans le tiret initial :
 x affiche l’ensemble de vos propres processus (ou process) en cours.
 a ajoute les processus de tous les autres utilisateurs à la liste.
 u fournit des renseignements supplémentaires comme le propriétairedu
processus (USER),l’utilisation de processeur (%CPU) ou de la mémoire
(%MEM).
Dr. Kéba GUEYE
Introduction aux systèmes d’exploitation
Gérer les processus
Linux, un système multitâche
Afficher les processus en cours
L’option x affiche l’ensemble de mes processus dans toutes les consoles, ainsi que
ceux qui ne sont rattachés à aucune console.
Dans l’exemple qui suit, je me suis connecté à distance(sshd) à ma machine :

La sortie de ps aux est assez longue. Même sur une installation minimale, le système lance
près de 90 processus, dont trois appartiennent à l’utilisateur connecté.
Dr. Kéba GUEYE
Introduction aux systèmes d’exploitation
Gérer les processus
Linux, un système multitâche
Compter les processus
Vous vous demandez peut-être comment j’ai fait pour compter tous ces processus.
C’est l’occasion de vous rappeler la philosophie Unix : combiner des outils qui ne
font qu’une seule chose. Pour avoir la liste complète de tous les processus en cours
sur la machine, je dois utiliser la commande suivante :
Le nombre de processus correspond à peu de choses près au nombre de lignes
renvoyées par la commande précédente. La ligne d’en-têtes des colonnes ne
correspond pas à un processus ;supprimons-la de l’affichage en utilisant l’option-v
(ou --invert-match) de grep :

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gérer les processus
Linux, un système multitâche
Compter les processus
À partir de là, je peux donc reprendre ma commande et la combiner avec wc pour
obtenir le nombre de lignes, c’est-à-dire le nombre de processus en cours :

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gérer les processus
Linux, un système multitâche
Compter les processus
Nous obtenons un total de 203 processus. De la même manière, si je veux savoir
combien de ces processus m’appartiennent, il suffit que j’invoque seulement
l’option x. Si le résultat vous surprend, n’oubliez pas que wc est un processus
comme les autres :

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gérer les processus
Linux, un système multitâche
Envoyer un signal à un processus : kill
Maintenant, tentez l’expérience suivante :
1 Ouvrez une deuxième console dans une deuxième fenêtre.
2 Dans la deuxième console, lancez la commande top, qui vous affiche « à chaud » l’état des processus en cours.
Nous la verrons en détail un peu plus loin. Notez que l’affichage de top est actualisé toutes les deux secondes.
3 Revenez dans la première console et affichez vos processus en cours avec ps x.
Notez le PID de la commande top. Sur ma machine, c’est 4663 ; sur la vôtre, ce sera probablement un autre
identifiant.
4 Invoquez la commande kill suivie du PID que vous venez de noter : kill 4663 ici dans mon cas.
5 Notez les conséquences de cette commande dans la deuxième console. L’affichage de top s’est arrêté et nous
retrouvons l’invite de commande.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gérer les processus
Linux, un système multitâche
Envoyer un signal à un processus : kill
Est-ce que nous aurions « tué » la commande top, comme le suggère le nom de la
commande ? kill est en effet susceptible de se révéler un véritable assassin et de
terminer des processus avec l’équivalent numérique d’un coup de massue sur la
tête. Néanmoins, il a procédé autrement ici.
kill invoqué sans arguments est un gentil tueur, c’est-à-dire qu’il laisse au
processus le temps de s’arrêter proprement, de ranger à leur place toutes les
données en cours d’utilisation. En revanche, si on le lui précise explicitement, kill
montre les crocs et devient impitoyable, ce qui est parfois nécessaire face à un
processus qui a décidé de faire des siennes et de bloquer la machine.
Dr. Kéba GUEYE
Introduction aux systèmes d’exploitation
Gérer les processus
Linux, un système multitâche
Envoyer un signal à un processus : kill
Chose plus importante encore, kill n’est pas qu’un tueur, comme son nom le
laisserait croire. Il sait faire bien plus que cela. Pour en avoir la certitude, l’option-
l vous affichera la liste complète de ses compétences :

Non, nous n’allons pas examiner les soixante-quatre options en détail. Nous avons juste compris que
kill permettait d’envoyer toute une série de signaux à des processus et nous allons en tester quelques-
uns
Dr. Kéba GUEYE
Introduction aux systèmes d’exploitation
Gérer les processus
Linux, un système multitâche
Arrêter et relancer un processus
Fermez la deuxième console et affichez l’ensemble de vos processus en cours, en
notant leur PID :

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gérer les processus
Linux, un système multitâche
Arrêter et relancer un processus
Maintenant, basculez vers la deuxième console. Vous ne voyez rien ?
Essayez donc de saisir n’importe quelle commande. Le curseur clignote encore,
mais la console ne réagit plus. C’est normal : vous venez de l’arrêter en lui
envoyant un SIGSTOP. Pour la relancer, rien n’est plus simple. Envoyez un
SIGCONT au processus interrompu :

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gérer les processus
Linux, un système multitâche
Arrêter et relancer un processus
À présent, vous pouvez continuer à utiliser votre shell normalement. Réinvoquez
kill -l et repérez SIGSTOP et SIGCONT dans la liste des signaux. Vous voyez
qu’ils sont affublés respectivement des identifiants de signal19 et 18. Nous aurions
également pu invoquer les deux dernières commandes comme ceci :
$ kill -19 2710
$ kill -18 2710

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gérer les processus
Linux, un système multitâche
Terminer et tuer un processus
Si nous n’avons pas d’application mal codée sous la main, nous pouvons du moins
simuler l’arrêt d’un processus récalcitrant :
1 Affichez les processus de votre console avec ps x.
2 Ouvrez une deuxième console locale ou distante.
3 Identifiez le processus bash de cette deuxième console.
4 Envoyez un kill -TERM à ce processus.
5 Invoquez à nouveau ps x depuis la première console.
6 Que constatez-vous ?

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Gérer les processus
Linux, un système multitâche
Terminer et tuer un processus
Sous Linux, une application – ou un processus – qui refuse d’obtempérer ne vous
obligera pas à redémarrer la machine à coups de pied. Avant d’en venir à ces
extrémités, il suffit de lui envoyer un petit SIGKILL et le tour est joué.
Concrètement, si nous reprenons notre exemple : kill –KILL 4822 (pour mon cas)
Ou kill -9 4822
Cette fois-ci, le processus bash a bien été arrêté (et même « tué » à proprement
parler), ce quia entraîné la fermeture de la session.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Installer et gérer des logiciels

L’installation, la mise à jour et la suppression de logiciels constituent une partie


significative des tâches qui incombent à l’administrateur d’un serveur Linux. C’est
aussi un domaine qui différencie de manière fondamentale l’univers de Windows
et celui de Linux. Non content de cela, c’est également là que l’on verra diverses
façons de gérer les paquets logiciels selon les familles de distributions Linux.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Installer et gérer des logiciels
Installer des logiciels depuis le code source
Nous allons faire pareil, sous forme d’un atelier pratique qui vous permettra
debien comprendre les bases de la gestion logicielle.
Si nous partons d’un système CentOS 7 minimal, nous avons besoin d’une
poignée d’outils pour construire des applications :
 le jeu de compilateurs GCC (GNU Compiler Collection) ;
 l’analyseur syntaxique GNU Bison ;
 l’analyseur lexical Flex ;
 le navigateur Links pour récupérer les archives de code source.
Dr. Kéba GUEYE
Introduction aux systèmes d’exploitation
Installer et gérer des logiciels
Installer des logiciels depuis le code source
Les options de tar sont souvent utilisées sans le tiret initial. Vous pouvez donc
écrire de la même façon tar -xvjf ou tar xvjf, cela n’a aucune incidence sur le
fonctionnement de la commande.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Installer et gérer des logiciels
Installer des logiciels depuis le code source

Les archives de code source seront rangées dans un répertoire ~/src:

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Installer et gérer
Introduction aux systèmes d’exploitation
Installer et gérer des logiciels
Installer des logiciels depuis le code source
Atelier pratique n° 1 : Joe’s Own Editor

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Installer et gérer des logiciels
Installer des logiciels depuis le code source
Atelier pratique n° 1 : Joe’s Own Editor

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Installer et gérer des logiciels
Installer des logiciels depuis le code source
Atelier pratique n° 1 : Joe’s Own Editor
Je décompresse l’archive de code source et je me place dans le répertoire nouvellement
créé:

En règle générale, les archives de code source fournissent des informations succinctes dans
une série de fichiers README, INSTALL, NEWS, etc. Jetez un œil dans les fichiers
README.md, INSTALL.md et NEWS.md pour avoir une idée de ce qu’ils contiennent.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Installer et gérer des logiciels
Installer des logiciels depuis le code source
Atelier pratique n° 1 : Joe’s Own Editor
À quelques détails près, la séquence configure / make / make install est commune à la
plupart des applications écrites en C pour les systèmes Unix et Linux. C’est ce que nous
allons utiliser ici :

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Installer et gérer des logiciels
Installer des logiciels depuis le code source
Atelier pratique n° 1 : Joe’s Own Editor
La dernière commande a installé l’ensemble des fichiers qui constituent l’application dans
l’arborescence /usr/local.
 Le fichier binaire exécutable joe se retrouve dans /usr/local/bin, ainsi que rjoe,
jmacs,jpico et jstar.
 Les fichiers de configuration sont rangés dans /usr/local/etc/joe.
 Les pages de manuel en ligne figurent dans /usr/local/share/man.
 Les traductions, les modèles de couleurs et autres fichiers auxiliaires sont installés dans
/usr/local/share/joe.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Installer et gérer des logiciels
Installer des logiciels depuis le code source
Atelier pratique n° 1 : Joe’s Own Editor
Testez-le pour éditer un fichier :

Une fois que vous avez tapé un peu de texte, utilisez les touches Ctrl+K etX pour
enregistrer les modifications et quitter l’éditeur. Félicitations, vous venez de
compiler votre première application depuis son code source !

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Installer et gérer des logiciels
Installer des logiciels depuis le code source
Atelier pratique n° 2 : TCPdump
Forts de cette première expérience, essayons maintenant de compiler une autre
application depuis son code source.
TCPdump est un analyseur de paquets en ligne de commande, qui surveille ce qui
se passe sur les interfaces réseau d’une machine. Pour la construction, nous allons
procéder comme pour l’éditeur JOE. Dans un premier temps, nous devons
récupérer le code source sur le site du projet :

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Installer et gérer des logiciels
Installer des logiciels depuis le code source
Atelier pratique n° 2 : TCPdump
Sur la page d’accueil, suivez le lien Downloads, téléchargez le fichier tcpdump-
4.9.2.tar.gzet quittez Links.
Là encore, je décompresse l’archive de code source et je me place dans le
répertoire nouvellement créé :

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Installer et gérer des logiciels
Installer des logiciels depuis le code source
Atelier pratique n° 2 : TCPdump

Je prends le message au pied de la lettre et je regarde dans le fichier INSTALL.txt


:

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Installer et gérer des logiciels
Installer des logiciels depuis le code source
Atelier pratique n° 2 : TCPdump
Le fichier INSTALL.txt m’explique que TCPdump a besoin de la bibliothèque
libpcap pour fonctionner. Cette bibliothèque est également fournie par la page web
du projet :

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Installer et gérer des logiciels
Installer des logiciels depuis le code source
Atelier pratique n° 2 : TCPdump
Je suis le lien Downloads, je télécharge le fichier libpcap-1.9.0.tar.gz un peu plus
bas sur la page de téléchargement et je quitte Links. Je décompresse l’archive de
code source et je me place dans le répertoire nouvellement créé :

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Installer et gérer des logiciels
Installer des logiciels depuis le code source
Atelier pratique n° 2 : TCPdump
Maintenant que libpcap est installée, je retente ma chance avec TCPdump :

Il ne me reste plus qu’à lancer la compilation et l’installation :

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Installer et gérer des logiciels
Installer des logiciels depuis le code source
Atelier pratique n° 2 : TCPdump

Pour tester TCPdump, je lance la commande suivante depuis une session à distance et j’observe ce qui
se passe :

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Installer et gérer des logiciels
Inconvénients d’une installation depuis le code source
Essayons de faire un brin de ménage sur notre système en supprimant joe, libpcap ettcpdump :

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Installer et gérer des logiciels
Inconvénients d’une installation depuis le code source
Regardons dans l’arborescence /usr/local ; nous constatons non sans un certain dépit que le ménage n’a
pas été fait très proprement. Les répertoires d’installation etc/joe, share/joe etshare/doc/joe sont restés
en place et il nous reste un binaire sbin/tcpdump.4.9.2 qui a manifestement été oublié par le script de
suppression make uninstall de tcpdump.

Dr. Kéba GUEYE


Introduction aux systèmes d’exploitation
Installer et gérer des logiciels
Inconvénients d’une installation depuis le code source
ASTUCE Garder la trace des fichiers installés
À partir du moment où je sais que les fichiers résultant de la compilation vont être installés dans
/usr/local, je peux utiliser l’astuce suivante pour en garder la trace :
$ sudo make install$ find /usr/local -mmin 1 > liste.txt
Ici, find m’affiche tout ce qui a été créé ou modifié durant la dernière minute dans l’arborescence
/usr/local et le résultat de la recherche est redirigé dans un fichier liste.txt.
D’un certain point de vue, c’est le gestionnaire de paquets le plus rudimentaire qui existe.

Dr. Kéba GUEYE

Vous aimerez peut-être aussi