Vous êtes sur la page 1sur 45

Institut supérieur des études Année Universitaire 2018/2019

technologiques en communications de
Tunis

SUPPORT DE COURS UNIX

Elaboré par :
Soumaya Dardouri
E-mail :dardourisoumaya09@gmail.com
Cours LINUX(UNIX) Introduction générale

Chapitre 0

INTRODUCTION GENERALE

AUX SYSTEMES D'EXPLOITATIONS


Objectifs:

 Définir et prouver la nécessité des systèmes d’exploitation.


 Rappeler les notions de base des systèmes d’exploitation.
 Mettre le système UNIX dans son contexte.
Prérequis:

 Architecture des ordinateurs.


Matériel et systèmes. (MS-DOS, ASSEMBLEUR, Système D’exploitation
.etc.)

Plan
I/INTRODUCTION:

II/Qu’est ce qu’un système d’exploitation?

III/ Principes des systèmes d'exploitation:

III-1/ Les processus:

III-2/ Les systèmes de fichiers:

III-3/ Les interpréteurs de commandes (shell):

III-4/ Classification des systèmes d'exploitations existants:

IV/ Résumé:

Dardouri Soumaya Page 1 Iset’Com


Cours LINUX(UNIX) Introduction générale

Chapitre 0

INTRODUCTION GENERALE

AUX SYSTEMES D'EXPLOITATIONS

I/INTRODUCTION:

Sans logiciels, un ordinateur n'est qu'un morceau de matériel inutile. Grâce à ces
logiciels, il peut mémoriser, traiter et restituer des informations et servir dans de
nombreuses autres activités qui justifient son utilité.

Les logiciels se répartissent en deux grandes catégories :

Les programmes système qui permettent le fonctionnement de l'ordinateur.

Les programmes d'application qui résolvent les problèmes des utilisateurs.

Le système d'exploitation est le programme fondamental des programmes systèmes. Il


contrôle les ressources de l’ordinateur et fournit la base sur laquelle seront construits les
programmes d’application. Un ordinateur moderne se compose d’un ou plusieurs
processeurs, d’une mémoire principale, d’horloges, de terminaux, d’interfaces de connexion
à des réseaux et d’autres périphériques d’entées sorties (E/S). Un ordinateur est donc un
système fort complexe. L’écriture de programmes qui prennent en compte tous ces
éléments et les gèrent correctement est un travail extrêmement difficile. Bien peu de
programmes seraient développés, si chaque programmeur devrait connaître le
fonctionnement des disques, ainsi que toutes les erreurs qui peuvent apparaître.

Dardouri Soumaya Page 2 Iset’Com


Cours LINUX(UNIX) Introduction générale

Il y a quelques années, il est apparu clairement qu’il fallait trouver un moyen de libérer les
programmeurs de la complexité du matériel. Ce moyen, qui a évolué petit à petit,
consiste à enrober le matériel par une couche de logiciel qui gère l’ensemble de
système.

Il va falloir en fait présenter au programmeur une interface ou machine virtuelle plus facile
à comprendre et à programmer. Cette couche de logiciel est le système d’exploitation.

La situation est présentée par la figure si dessous.

Système Réservation Contrôle de jeux Programmes


bancaire d’avion processus industriel
d’application

Compilation Edition interpréteur de


commande
Programmes

Système d’exploitation système

Langage machine

Microprogrammes matériel

Dispositif physique

Le matériel se trouve au niveau le plus bas et se compose lui-même de deux couches ou


plus. La couche la plus basse contient les circuits physiques constitués de circuits intégrés, de
fils électriques, d’alimentation, de tube cathodique et de périphériques physiques. De cette
nature, leurs constructions et leurs fonctionnements concernent l’ingénieur en
électricité.

Vient ensuite un logiciel de base qui contrôle ces différents périphériques pour fournir une
interface plus simple à la couche suivante. Ce logiciel, appelé un microprogramme, se situe
généralement dans la mémoire morte « ROM ». Il s’agit en fait d’un interpréteur qui
recherche des instructions en langage machine comme ADD, MOV et JMP et les exécuter
l’une après l’autre.

Dardouri Soumaya Page 3 Iset’Com


Cours LINUX(UNIX) Introduction générale
Le Microprogramme ne fait pas réellement partie du matériel, mais il est toujours décrit
dans les manuels des constructeurs d’ordinateurs. Ce qui amène de nombreuses personnes

Dardouri Soumaya Page 4 Iset’Com


Cours LINUX(UNIX) Introduction générale

à le considérer comme faisant partie de le « Machine ». Sur certaines machines le


microprogramme est implanté dans le matériel et ne constitue pas à lui seul une couche
distincte.

La fonction primordiale d’un système d’exploitation est de masquer toute la complexité du


matériel et de présenter au programmeur un ensemble d’instructions plus simple à
utiliser.

Par exemple LIRE UN BLOC DE FICHIER est conceptuellement plus simple que d’avoir à se
soucier de déplacer les têtes de lecture puis à se positionner ...etc.

Le reste du logiciel système se trouve au-dessous du système d’exploitation. On y trouve


l’interpréteur de commande (shell), les compilateurs, les éditeurs et les programmes de ce
type qui ne dépendent pas des programmes d’application. Il faut bien se rendre compte que
ces programmes ne font pas partie du système d’exploitation, bien qu’ils soient fournis par
les constructeurs d’ordinateurs.

Le système d’exploitation est la partie du logiciel qui fonctionne en mode noyau ou mode
superviseur. Elle protège le matériel contre les erreurs de manipulation des utilisateurs. Les
compilateurs et les éditeurs fonctionnent en mode utilisateur.

En fin, on trouve les programmes d’application au-dessus des programmes système. Ces
programmes sont écrits pour les utilisateurs pour résoudre leurs problèmes spécifiques tels
que le traitement des données commerciales, les calculs scientifiques ...etc.

II/Qu’est-ce qu’un système d’exploitation ?

Définition 1 :

 Un système d'exploitation regroupe un certain nombre de fonctions,


toutesdestinées à coordonner les opérations d’un ordinateur nécessaires à la mise en œuvre
des programmes.

Il gère, pour cela, les commandes destinées aux diverses ressources matérielles (mémoire
centrale, périphériques d’entrée sortie,...).

Dardouri Soumaya Page 5 Iset’Com


Cours LINUX(UNIX) Introduction générale

Définition 2:

Un système d'exploitation est la couche logicielle qui tran sforme


l’ordinateur en une machine virtuelle facilement manipulable par un simple utilisateur.

En effet, vu l’architecture complexe de l’ordinateur au niveau du langage machine, il est très


difficile de pouvoir maîtriser la communication entre le processeur et les différents organes
de la machine. D’où la nécessité d’une abstraction simple et de haut niveau qui permet au
programmeur de réaliser des fonctions nécessaires sans se préoccuper de la complexité du
matériel.

Le système d'exploitation est donc un programme qui soustrait le matériel au regard du


programmeur et offre une vue agréable à l’ordinateur.

III/ Principes des systèmes d’exploitation :

L’interface entre le système d'exploitation et les programmes de l’utilisateur est


constituée d’un ensemble « d’instructions » « étendues » fournies par le système
d'exploitation. Ces instructions étendues sont qualifiées d’appels systèmes. Elles varient
d’un système d'exploitation à l’autre.

Généralement, les appels systèmes appartiennent à l’une des grandes classes suivantes : soit
les processus soit les systèmes de fichiers soit les entrées sorties.

III-1/ Les processus :

Le processus est un concept clé de tous les systèmes d’exploitation. Un processus est
un programme exécutable, ses données et sa pile d’exécution, son compteur ordinal, sont
pointeur de pile et les autres registres, ainsi que les autres informations nécessaires à
l’exécution du programme.

Périodiquement, le système d'exploitation décide d’interrompre un processus en cours et de


lancer l’exécution d’un autre.

Dardouri Soumaya Page 6 Iset’Com


Cours LINUX(UNIX) Introduction générale

Lorsqu’un processus est temporairement suspendu de telle manière, il faut qu’il puisse
retrouver plus tard exactement l’état ou il se trouvait au moment de sa suspension. Il faut
donc que toutes les informations dont il a besoin soient explicitement sauvegardées quelque
part.

Dans un système d'exploitation, les informations relatives à un processus sont sauvegardées


dans une table du système d'exploitation.

Les appels systèmes les plus importants pour la gestion des processus sont ceux qui
concernent la création et la fin des processus.

III-2/ Les systèmes de fichiers :

La deuxième grande catégorie d’appels systèmes, concerne le système de fichiers. Il


faut donc des appels systèmes pour créer et détruire des répertoires et de y mettre ou en
retirer des fichiers. Fichier

Répertoire
Répertoire
racine

Exemple de ramification d’un système de

Dardouri Soumaya Page 7 Iset’Com


Cours LINUX(UNIX) Introduction générale

III-3/ Les interpréteurs de commandes (shell):

Le système d'exploitation est le code qui exécute les appels systèmes (noyau). Les
éditeurs, les compilateurs et les interpréteurs de commandes ne font absolument pas partie
du système d'exploitation.

L'interpréteur de commandes (shell) constitue la première interface entre l’utilisateur et le


système d'exploitation.

III-4/ Classification des systèmes d'exploitations existant :

Mono-utilisateur Multi-utilisateur

« Single-user » « Multi-user »

Mono-tache MS-DOS

« Single tasking »

OS/2 WindowsNT

Multi- tache OS/9 UNIX


« Multi tasking » Windows
Xwindows

windows95
VMS

IV/ Résumé:

Dans cette introduction, nous avons examiné le système d'exploitation sous deux
angles différents : La gestion des ressources et la machine étendue (virtuelle).

Du point de vue de la gestion des ressources, le rôle de système d'exploitation est de gérer
au mieux les différentes parties du système.

Du point de vue de la machine étendue, le rôle de système d'exploitation est d’offrir aux
utilisateurs une machine virtuelle plus facile d’emploi que la machine réelle.

Dardouri Soumaya Page 8 Iset’Com


Cours de LINUX(UNIX) Le Système UNIX

Chapitre 1

LE SYSTEME UNIX
Objectifs:

 Introduire le système UNIX à travers sont historique.

 Définir le système UNIX en précisant ses caractéristiques.

 Définir le SHELL d’UNIX.

 Aider l'étudiant a se familiariser avec l'environnement UNIX à travers la


procédurede connexion, quelque commandes simples pour débuter et la procédure de
déconnexion. (Un flash)

Prérequis :

 Le chapitre précédent de ce cours d’UNIX et ses Prérequis.

Plan
I/ Historique

II/ Généralité sur le système

II-1/ Définition du système UNIX

II-2/ Caractéristiques d'UNIX

II-3/ Raison du succès d'UNIX

II-4/ Structure du système UNIX

II-5/ Le SHELL

II-6/ Premier contact avec UNIX

Dardouri Soumaya Page 7 ISET DE NABEUL


Cours de LINUX(UNIX) Le Système UNIX

Chapitre 1

LE SYSTEME UNIX
I/ Historique

Le système UNIX a été développé dans les bell loboratories de la firme américaine
AT&T, grâce au travail acharné de l'ingénieur KEN THOMPSON qui a été rejoint par la suite
par son collègue DENNIS RITCHIE.

Le but des concepteurs d’UNIX était de disposer d'un système d'exploitation


interactif opérant sur des petits systèmes, mais dont la puissance est comparable
aux systèmes d'exploitation des grandes machines.

Sa conception a suivi les péripéties suivantes :

Apparition de la première version sur DIGITALPDP7 et PDP8 en


1969.Cetteversion a été écrite en assembleur et fonctionne en mono utilisateur.

Une nouvelle version opérationnelle sur le DIGITAL PDP11 en mode


multiprogrammation a été lancée toujours par THOMPSON et DENNIS en 1971.

En 1973, réécriture d'UNIX en langage C, lui-même développé par DENNIS


RITCHIEdansles bell loboratories, brisant la tradition qui associes l'assembleur à tout
système d'exploitation.

Octroie par bell loboratories aux universités la licence d'utilisation d'UNIX


pour des buts académiques.

Lancement en 1975 d'UNIX version 6, un produit non "bell loboratories".

 Extension de l'environnement multiutilisateurs et ajout des utilitaires de


gestion de ressources avec l'apparition de la version UNIX PWB (Programmers Work
Bench) en 1976.

Dardouri Soumaya Page 7 ISET DE NABEUL


Cours de LINUX(UNIX) Le Système UNIX

En 1978, UNIX a été porté sur le VAX11 à partir de la version 7. De nouveaux
utilitaires sont apparus, ainsi que la possibilité de portabilité a été améliorée.

1980, l'université californienne de BERKLEY sort la version UNIX BSD4.1 qui


apporte des améliorations sur la gestion de la mémoire virtuelle et des réseaux et
introduit l'éditeur plein écran vi.

 Introduction sur le marché en 1981 de la première version UNIX temps réel


par la firme MASCOMP.

Lancement en 1982 par AT&T de l'UNIX version 7 et l'UNIX system III, conçu par AT&T.

 Lancement en 1983 par AT&T de l'UNIX system V avec amélioration de la


gestion des mémoires partagées.

 Toujours en 1983, apparition de la version dérivée d'UNIX conçue pour


tourner tsur des micro-ordinateurs IBM AT ou compatibles: XENIX de
MICROSOFT...etc.

 A partir de l'année 1991, UNIX a commencé à s'ajuster au temps réel


notamment avec les versions UNIX system V.4, VXWORKS de Wind River System et
VRTX de Ready Systems.

Concurrent Computer met sur le marché une nouvelle version d'UNIX, la RTU
utilisant l'architecture RISC est conçue à partir du noyaux V.3 d'AT&T mais intégrant
l'environnement BERKLEY BSD 4.2.

II/ Généralité sur le système

II-1/ Définition du système UNIX.

UNIX est un ensemble de programmes qui servent de liaison entre un ordinateur et


son utilisateur. UNIX possède trois fonctions :

 Il commande l'ordinateur: Le logiciel du système UNIX chargé de


la commandede l'ordinateur est appelé le noyau Kernel oule SE. Son rôle est l'allocation des
ressources matérielles, la gestion de la mémoire, la gestion du système des fichiers et le
contrôle de l'accès à l'ordinateur.

Dardouri Soumaya Page 8 ISET DE NABEUL


Cours de LINUX(UNIX) Le Système UNIX

 Il sert d'interprète utilisateur-ordinateur: Le logiciel du système


UNIX de teleliaison s'appelle le SHELL dont le rôle est de contrôler et d'interpréter les
demandes des utilisateurs et d'extraire de la mémoire des programmes
associés afin de les exécuter.

 Il offre un ensemble d'outils de travail destinés à la

communication téléphonique, a la manipulation des fichiers, à la programmation et


au développement de nouveaux logiciels.

APPLICATION

SE (UNIX)

II- 2/ Caractéristiques d'UNIX.

 Un système d'usage général: L'utilisateur peut effectuer des travaux de


toutessortescomme la programmation, le traitement de texte, la messagerie...

Un système interactif: Il offre une interaction entre l'utilisateur et la machine.

 Un système de temps partagé ou un système multiutilisateur: C'est la


technique de partage avec d'autres utilisateurs tout en donnant l'impression à chaque
utilisateur qu'il est le seul maître à bord.

En effet, le système alloue à chaque travail soumis une tranche de temps pour l'exécution
d'une partie ou la totalité de ce travail. Grâce à la rapidité d'exécution du système, il paraît
fonctionner simultanément avec tous les utilisateurs.

Un système multitâches: Il permet l'exécution de plusieurs programmes

simultanément.

II-3/ Raison du succès UNIX.

Un système portable: Ecrit en langage C, UNIX est supporté par une grande
variété de machines allant des micro-ordinateurs jusqu'aux grosses machines. Il
Dardouri Soumaya Page 9 ISET DE NABEUL
Cours de LINUX(UNIX) Le Système UNIX
présente donc un avantage commercial énorme.

Dardouri Soumaya Page 10 ISET DE NABEUL


Cours de LINUX(UNIX) Le Système UNIX

Un système facilement adaptable aux situations particulières: Le code source


d’UNIX est en langage évolué, est disponible.

Un système simple d'utilisation et riche en fonctionnalités.

Il existe deux sortes d'utilisateurs pour un système UNIX donné:

✓ L'administrateur du système : c'est un usager particulier qui a tous les droits,


et qui est responsable du bon état du système. Son nom est root .

✓ Les autres utilisateurs : C'est l'administrateur qui enregistre un nouvel usager.


Les usagers sont rassemblés en groupes. En général un groupe rassemble les
personnes qui travaillent sur un même sujet. Pour changer de groupe, il faut le
demander à l'administrateur.

II-4/ Structure du système UNIX.

Le noyau du système UNIX est un bloc qui contient une série de composantes qui
assurent la gestion des fichiers, la gestion des processus et la gestion de la mémoire.

APPLICATION

GESTION
DE

MATERIEL

Structure du noyau UNIX


Dardouri Soumaya Page 11 ISET DE NABEUL
Cours de LINUX(UNIX) Le Système UNIX

II- 5/ Le SHELL.

Pour travailler avec UNIX, il est important de savoir qu'il est possible de
communiquer directement avec le noyau de SE. Cette communication passe par un utilitaire
qui sert d'intermédiaire entre la saisie des commandes et le noyau du système. Sous UNIX, il
est appelé le SHELL (en français, la coquille ou interpréteur de commande).

On trouve plusieurs SHELLS tel que: C-SHELL, KORN-SHELL et BOURNE-SHELL).

II-6/ Premier contact avec UNIX.

Ouverture d'une session UNIX

Login : nom de l'utilisateur

Password : mot de passe 

$ c'est le prompt utilisateur, il indique que le système est recevoir des commandes.

Changer le mot de passe

$passwd permet de créer ou changer le mot de passe

Afficher l'heure et la date

Mon Sept

Dardouri Soumaya Page 12 ISET DE NABEUL


Cours de LINUX(UNIX) Le Système UNIX

Afficher les utilisateurs, leurs adresses et l'heure et la date de la connexion

$who

Adm tty11 May 28 13:59

user1 tty12 May 28 15:12

user2 tty13 May 28 15:13

user7 tty18 May 28 16:40

$who am i

user2 tty13 May 28 15:13

Fermeture d’une session :

Deux possibilités

✓ Avec la commande exit.

✓ En appuyant sur ^d (ou contrôle d ).

Syntaxe de la commande:

Une commande UNIX doit posséder la syntaxe suivante:

$ Commande [option1].......[optionN] [arg1] -------[argn]

( ce qui est entre crochets n'est pas toujours obligatoire)

Dardouri Soumaya Page 13 ISET DE NABEUL


Cours de LINUX(UNIX) Le Système UNIX

Exemple:

$wc fich1

44 446 3028 fich1

$wc -l fich1

44 fich1

$wc -c fich1

3028 fich1

$wc -w fich1

446 fich1

$ uname [-option]

-s : nom du système UNIX courant.

-n : nom du noeud.

-r : N° de l'édition du système UNIX.

-m : nom de la machine.

-v : version du système UNIX.

-a : toutes les données sous-mentionnées.

Affichage des premières et dernières lignes d'un fichier:

$head -5 fich1

$tail -3 fich1

Documentation:

La commande man permet de consulter la documentation on-line d'UNIX:

$man ls

Dardouri Soumaya Page 13 ISET DE NABEUL


Cours de LINUX(UNIX) Le Système UNIX

$man pg

Dardouri Soumaya Page 14 ISET DE NABEUL


Cours de LINUX(UNIX) Le système de fichier d'unix

Chapitre 2

LE SYSTEME DE FICHIERS D'UNIX


Objectifs:

 Connaître la structure du système de fichiers d'UNIX.

 Manipuler les commandes de base du système de fichier d’UNIX.

Prérequis:

 Les chapitres précédents de ce cours d’UNIX.

Plan
I/ Structure du système de fichier
I-1/ les fichiers normaux
I-2/ les fichiers répertoires
I-3/ les fichiers spéciaux
II/ Répertoire de travail
III/ La manipulation des répertoires
III-1/création d'un répertoire
III-2/ contenu d'un répertoire
III- 3/ suppression d'un répertoire
III-4/ taille des répertoires
IV/ La manipulation des fichiers
IV- 1/ création simple d'un fichier répertoire
IV-2/ lecture d'un fichier
IV-3/ duplication de fichiers
IV-4/ déplacement de fichiers
IV-5/ suppression de fichiers
IV-6/ autres opérations sur les fichiers
V/ Conclusion
Dardouri Soumaya Page 15 ISET DE NABEUL
Cours de LINUX(UNIX) Le système de fichier d'unix

Chapitre 2

LE SYSTEME DE FICHIERS D'UNIX

I/ Structure du système de fichier

Définition:

Un fichier est une suite d'octets, stockées sur une mémoire auxiliaire. Le système UNIX
distingue plusieurs types de fichiers.

• les fichiers normaux (ordinary files)


• les fichiers répertoires (répertoire ou directory)
• les fichiers spéciaux (special files ou devices)
Chaque fichier possède un nom, un contenu, un endroit où se trouve, sont
propriétaire, sa taille et les personnes qui peuvent y accéder.

I-1/ les fichiers normaux : contiennent soit des textes soit des programmes
exécutables.

I-2/ les fichiers répertoires : permettent d'organiser l'espace du disque dur. Les
fichiers normaux sont regroupés dans des répertoires. Ces répertoires peuvent contenir eux-
mêmes des sous-répertoires, des fichiers normaux et des fichiers spéciaux.

I-3/ les fichiers spéciaux : représentent les interfaces avec les périphériques gérés par
le système d'exploitation. Exemple: console, imprimante et disque.

/boot /UNIX /bin /dev /etc /Lib /tmp /usr

mail news usern

Dardouri Soumaya Page 16 ISET DE NABEUL


Cours de LINUX(UNIX) Le système de fichier d'unix

/boot : Premier programme exécuté par la machine, il permet de lancer UNIX.

/UNIX : Programme du KERNEL (résident en mémoire). Au fonctionnement, /UNIX est lu,


copié dans la mémoire et exécuté.

/bin : Contient les utilitaires et programmes exécutables comme cat, date, wc, who, ...

/dev : Contient les fichiers spéciaux qui représentent des périphériques comme console,
ttyxx, lp, ...

/etc : Contient des programmes et fichiers de données pour l'administration du système


comme le fichier des mots de passe "passwd" et le fichier des membres de chaque groupe
d'utilisateur group.

/Lib : Bibliothèque de programmes et de langages.

/tmp : contient des fichiers temporaires

/usr : /news : Nouveautés dans le domaine d'UNIX

/mail : Boite à lettres

/userx : Répertoire de l'utilisateur userx.

II/ Répertoire de travail

Au moment du login, l'utilisateur est placé sur un répertoire propre à lui, relié au répertoire
système /usr. On appelle ce répertoire, le répertoire de départ ou répertoire de connexion.

A partir de son répertoire de départ, tout utilisateur peut créer ou modifier ses propres
fichiers et répertoires qui doivent être situés dans la partie inférieure de l'arborescence à
partir du répertoire de départ. L'utilisateur peut aussi remonter le système de fichiers
jusqu'à la racine ou se positionner sur un répertoire issu de son répertoire appelé
répertoire de travail ou répertoire courant. Chaque fichier ou répertoire est décrit par son
chemin d'accès par rapport au répertoire courant ou par rapport à la racine.

Exemple de chemin d’accès :

Dardouri Soumaya Page 17 ISET DE NABEUL


Cours de LINUX(UNIX) Le système de fichier d'unix

/usr/user2/fich1 : Chemin d'accès de fich1 par rapport à la racine.

fich1 : Chemin d'accès de fich1 par rapport au répertoire de connexion de user2.

/usr/spool : Chemin d'accès du fichier spool par rapport à la racine.

Pour connaître le répertoire courant, ou le répertoire de travail, on dispose de la commande


pwd.

$pwd

Pour se déplacer dans l'arborescence et changer de répertoire, on utilise la commande cd


suivie du chemin d'accès du répertoire.

$Cd /usr

$pwd

$cd /usr/spool

$pwd

Pour remonter d'un niveau dans l’arborescence :

$cd ..

$pwd

$cd userx

$pwd

III/ La manipulation des répertoires

III-1/création d'un répertoire

Pour créer un répertoire, on utilise la commande mkdir suivie du nom du


répertoire (ou des noms des répertoires) à créer

Dardouri Soumaya Page 18 ISET DE NABEUL


Cours de LINUX(UNIX) Le système de fichier d'unix

$mkdir trav

$mkdir temps pers

III-2/ contenu d'un répertoire

La commande ls permet de lister le contenu d'un répertoire en fichiers et sous-


répertoire sans distinction

Exemple:

$ls -p

fich1

pers

temps

trav

virus

Pour distinguer entre les fichiers et les répertoires on utilise ls avec l'option -p. Dans ce cas
les répertoires serons terminés par /

Exemple:

$ls

fich1

pers/

temps/

trav/

virus

Dardouri Soumaya Page 19 ISET DE NABEUL


Cours de LINUX(UNIX) Le système de fichier d'unix

Pour obtenir une description plus détaillée du contenu du répertoire, on utilise ls


avec l'option -l.

$Ls –l

-rw-rw-- 1 userx group 12 May 29 10:64 fich1

drwxrwxr-x 2 userx group 32Jun 3 10:45 virus

La première colonne représente le mode du fichier:

si le premier caractère est d : répertoire

-: fichier ordinaire

b,c,p: fichier spécial.

Les neufs (9) caractères du champs mode décrivent les permissions accordées à ces fichiers
et répertoires (à voir ultérieurement). Ensuite, on obtient le nombre d'octets dans chaque
fichier et répertoire, la et l'heure de sa dernière modification et son nom.

$Ls -l /

Dans le cas d'un fichier spécial, le champ indiquant le nombre d'octets est remplacé par deux
paramètres, le numéro majeur et le numéro mineur. Le numéro majeur permet de
codifier le type du périphérique (exemple : 0 pour console, 1 pour les terminaux tty, 2 pour
les disques...etc.) tandis que le numéro mineur permet de différencier les périphériques de
même type par des chiffres distincts.

$Ls -l /dev

III- 3/ suppression d'un repertoire

La suppression se fait par la commande rmdir:

Exemple:

Dardouri Soumaya Page 20 ISET DE NABEUL


Cours de LINUX(UNIX) Le système de fichier d'unix

$rmdir temp

$ls -p

La même tâche peut être faite avec la commande rm :

Exemple

$mkdir temp

$ls -l

$rm -r temp

$ls -l

III- 4/ taille des répertoires :

Pour afficher la taille d’un répertoire on utilise la commande du (disck usage) utilise
par défaut le multiple 1024, ce qui signifie que la taille s’affiche par défaut en Kilo
octet. Il est possible grâce à l’option -B de spécifier dans quel multiple on souhaite
que la taille s’affiche. Les tailles acceptées peuvent être K (kilo), M (Mega), G (Giga),
T (Tera), P (Peta).

Sa syntaxe est :

$ du -option répertoire

les options peuvent êtres :

-a : Afficher pour tous les fichiers et pas uniquement les

répertoires.

-s : Afficher le total sans lister les différents fichiers

-c : Faire un total après avoir tout affiché.

-h : Ajoute un suffixe correspondant à l'unité (K, M, G)

-H : Idem que -h mais en puissance de 10.

Dardouri Soumaya Page 21 ISET DE NABEUL


Cours de LINUX(UNIX) Le système de fichier d'unix

Exemple

$du

1 .pers

1 .trav

20 .tp

22

IV/ La manipulation des fichiers

IV- 1/ création simple d'un fichier répertoire

Il est possible de créer un fichier ordinaire soit en utilisant un éditeur de texte comme
vi, soit en utilisant la commande cat et la redirection.

Exemple:

$ cat > nom du fichier

ligne1

ligne2

^d

Une fois la ligne est validée, tout ce qui sera saisie sera copié sur le fichier qui peut être
fermé et sauvegardé dans le répertoire indiqué en tapant ^d.

Exemple :

$ cat fich2

^d

Dardouri Soumaya Page 22 ISET DE NABEUL


Cours de LINUX(UNIX) Le système de fichier d'unix

$ls –l

-rw-rw-r-- 1 userx group 12 May 29 10:45 fich1

-rw-rw-r-- 1 userx group 68 Jun 3 11:16 fich2

drwxrwxrwx 2 userx group 32 Jun 3 10:15 temp

Dardouri Soumaya Page 23 ISET DE NABEUL


Cours de LINUX(UNIX) Le système de fichier d'unix

IV-2/ lecture d'un fichier

Il est possible de lire un fichier ordinaire soit en utilisant un éditeur de texte comme
vi, soit en utilisant la commande cat .

Exemple :

$cat fich1

$cat fich1 fich2

Dans le cas de fichiers volumineux, on remarque que le défilement sur l'écran est rapide.
Donc, il faut y avoir du temps de pause pour l'affichage. Pour cela on peut utiliser la
commande pg.

pg permet l'affichage de un ou plusieurs fichiers page par page.

$pg nom de fichier

pg attend des instructions supplémentaires qui peuvent être:

h: voir toutes les possibilités de pg

L: afficher la ligne suivante

<>: Afficher page suivante

.: afficher la page courante

f: afficher la page d'après

$: Afficher la dernière page

+iL: Afficher les i lignes suivantes

/chaine/ : Rechercher en avant d'une chaîne

?chaîne?: Rechercher en arrière d'une chaîne

Exemple:

Dardouri Soumaya Page 24 ISET DE NABEUL


Cours de LINUX(UNIX) Le système de fichier d'unix

$pg fich1

<texte>

:h

:L

:+3L

:.

:<>

:$

:q

$pg -5 +15 fich1 : affiche fich1 toutes les 5 lignes à partir de la 15 ème ligne.

IV-3/ duplication de fichiers

Pour dupliquer un fichier, il suffit d'utiliser la commande cp.

Syntaxe:

$cp source(s) destination

source(s) = un ou plusieurs fichiers

Exemples:

$cp virus fich2 trav

$ls trav

2- Duplication d'un fichier surle même répertoire de travail avec un nomdiffèrent:

$ ls -p

Dardouri Soumaya Page 25 ISET DE NABEUL


Cours de LINUX(UNIX) Le système de fichier d'unix

3- Duplication d'unrépertoiresurunautre:

$cd trav

$ls

$cp * /usr/userx/pers

$cd..

Question: Comment peut-on réaliser le dernier exemple sans changer de répertoire?

IV- 4/ déplacement de fichiers

Pour déplacer un fichier, il suffit d'utiliser la commande mv (move).

Syntaxe:

$mv source(s) destination

Exemples:

$ls -l

$ls -l trav

$ls -l

$ls -l trav
Dardouri soumaya Page 25 ISET DE NABEUL
Cours de LINUX(UNIX) Le système de fichier d'unix

Attention : Si le fichier de destination existe déjà, la commande mv remplacera son contenu


par celui du fichier source.

IV-5/ suppression de fichiers

Pour supprimer un fichier, on utilise la commande rm (remove)


Syntaxe:

$rm [-option] fichier(s)

Exemples:

$rm trav/fich2 pers/fich2

$ls -p trav pers

L'utilisation de l'option i permet au système de poser une question de validation avant


d'effacer le fichier.

Exemples:

$rm -i pers/virus

pers/virus: ? n

$ls pers

$rm -i pers/virus

pers/virus: ?y

$ls pers

IV-6/ autres opérations sur les fichiers

La commande file permet de tester sur le contenu d'un fichier. Cette commande
permet de deviner le type de fichier invoqué.

Syntaxe:

TAYARI Lassaad Page 26 ISET DE NABEUL


Cours de LINUX(UNIX) Le système de fichier d'unix

$file fichier

Exemples:

$file /bin

/bin : directory

$file /bin/ed

/bin/ed : cannot open for reading

$file essai1

essai1 : data

V/ Conclusion:

Dans ce chapitre nous avons étudié le système de fichier d'UNIX du point de vue de
l'utilisateur. En effet, nous avons défini les différents types de fichiers, la structure
générale du système de fichier (organisation hiérarchique des répertoires) et les
commandes de base pour la manipulation du système de fichier d'UNIX. Par contre, nous
n'avons pas évoqué la notion de sécurité qu'offre le système UNIX. Dans le chapitre
suivant, on étudiera ce point.

TAYARI Lassaad Page 27 ISET DE NABEUL


Cours de LINUX(UNIX) Sécurité des fichiers

Chapitre3

SECURITES DES FICHIERS


Objectif:

Connaître les différentes techniques de sécurité des fichiers sous UNIX

Prérequis:

 Les chapitres précédents de ce cours d’UNIX.

Plan
I/ INTRODUCTION:

II/ NOTIONS D’UTILISATEUR ET DE GROUPE :

III/ LES DROITS D’ACCES D’UN FICHIER:

IV/ CHANGEMENT DE DROIT D’ACCES :

V/ CHANGEMENT DE PROPRIETAIRE ET DE GROUPE

VI/ L’INODE:

Dardouri Page 25 ISET DE NABEUL


SsoumayaSoumaya
Cours de LINUX(UNIX) Sécurité des fichiers

Chapitre3

SECURITES DES FICHIERS

I/ INTRODUCTION:

A chaque fichier est associé un ensemble de permissions qui octroient les droits
d’accès en lecture, en écriture ou en exécution au propriétaire lui- même, aux membres de
son groupe de travail ou au différents autres utilisateurs du système .

II/ NOTIONS D’UTILISATEUR ET DE GROUPE :

1) l’utilisateur :

Au login, l'utilisateur doit introduire sont identificateur, qui correspond d’un


nombre uid reconnu par le système.

2) le groupe:

Le groupe d’utilisateurs est l’ensemble d’utilisateurs qui peuvent partager les


mêmes fichiers, ou qui travaillent sur le même projet Chaque groupe est identifié par
son nom et par un identificateur unique, le gid.

Pour connaitre les groupes définis dans un système, on tape :

$ cat /etc/group

root::0:root ,adm

sys::3:root,adm

group::50:user1,user2,user3,user4

On obtient donc une liste des groupes dans le système. Chaque nom de groupe est suivi par
un champ libre, son gid et enfin l’ensemble des membres (utilisateurs) du groupe.

Dardouri Page 26 ISET DE NABEUL


SsoumayaSoumaya
Cours de LINUX(UNIX) Sécurité des fichiers

3) Connaitre les utilisateurs et les groupes :

le fichier / etc / passwd,qui est le fichier des mots de passe, il contient toute
les informations du login pour chaque utilisateur. Ce fichier ne peut être modifié que
parle super-utilisateur, mais peut être consulté par les autres avec la commande :

$ cat / etc/ passwd |pg

les entités de ce fichier sont de la forme :

log-id : mp : uid : gid: comm: rep-conn: prog -conn:

log_id:= identificateur de lutilisateur

mp= mot de passe

uid: user identifier

gid: group identifier

comm: facultatif ( reservé pour les commentaires )

rep_con : repertoire de connexion

prog_conn: le shell
Exemple:

$ cat /etc /passwd

root: * : 0: 1: superuser:/:

bin : *: 2: 2: owner of systeme commandes: / bin:

sys :*: 3:3: owner of systeme files :/usr/sys

user1 : * : 208 : 50 :: / usr/ user1: / bin /sh

user2 : * : 209 : 50 :: / usr / user2:/ bin /sh

La commande id permet à l’utilisateur d’afficher son login et son groupe

aussi que les uid et gid

Dardouri Page 27 ISET DE NABEUL


SsoumayaSoumaya
Cours de LINUX(UNIX) Sécurité des fichiers

III/ LES DROITS D’ACCES D’UN FICHIER :

Les droit d’accès d’un fichier forment un ensemble de trois groupes de trois caractères
chacun :

$ ls -l
-rwx rwx rwx . . . . . . . . . . . . . . . . . . . fichier

Autres
Groupe
Propriétaire

La signification des mentions de ses groupes diffère selon q’il s'agit d’un fichier
ordinaire, d’un fichier spécial ou d’un fichier répertoire

Pour un fichier ordinaire:

r: droit d’accès en lecture

w: droit d’accès en écriture

x: droit d’exécution si le fichier est exécutable.

Pour un répertoire:

r: droit de lecture du contenu (ls)

w: droit de créer / supprimer des fichiers (cp,mv)

x: droit d’opérer dans le répertoire (cd)

Exemples :

$ ls -l / etc/ passwd

-rw-r--r-- root sys ...... /etc/passwd

$ ls -l /bin/ ls

-rwx--x--x ....... /bin/ls .

Dardouri Page 28 ISET DE NABEUL


SsoumayaSoumaya
Cours de LINUX(UNIX) Sécurité des fichiers

IV/ CHANGEMENT DE DROIT D’ACCES :

A la création d’un fichier ou répertoire, c’est le système ( kernel) qui se


charge d’accorder ou de refuser la permission au propriétaire, aux membres du
groupe et aux autres. Ses permissions peuvent être modifiées avec la commande
chmod.

Seul le propriétaire d’un fichier ou d’un répertoire peut changer les permissions. En effet, il
peut décider qui sera autorisé à lire, modifier, créer, supprimer et utiliser ses fichiers et
répertoires, et à qui cela sera interdit.

Le changement des droits d’accès peut se faire en deux modes :

✓ En symbolique ou

✓ En absolu

notion symbolique :

la syntaxe de la commande chmod est :

$chmod sujet [operateur ] [ permission] fichier(s).

Ou sujet : u : utilisateur et propriétaire.

:g : membre du groupe de l’utilisateur.

:o : autres utilisateurs du système.

:a : tout le monde .

operateur :+ : ajouter des droits

:- : enlever les droits

:= : valider les droits cités dans la commande et


enlever les autres.

permission :r : lecture (fichier)

: affichage (répertoire )
Dardouri Page 29 ISET DE NABEUL
SsoumayaSoumaya
Cours de LINUX(UNIX) Sécurité des fichiers

:w : écriture (fichier)

: création ou suppression (répertoires )

:x : exécution (fichier )

: droit d’opérer ( répertoire ) .

Exemples:

$ ls -l virus

-rw-r--r-- 1userx group........ virus.

Ajouter le droit d’exécution au propriétaire et interdire lesnom_ membre du groupe d’y


accéder :

$ chmod u+ x, o-r virus

$ ls -l virus

-rwx-----

Enlever le droit du propriétaire à la lecture, et ne permettre au groupe et aux autres


que l’exécution :

$chmod u-r , go=x virus

$ ls -l virus

1 userx groupe . . . . . . virus

lire le fichier virus

$ cat virus

cat:cannotopenvirus[ouaccessdenied virus]

5- remettre le fichier a l’état initial :

$ chmod u= rw , go= r

Dardouri Page 30 ISET DE NABEUL


SsoumayaSoumaya
Cours de LINUX(UNIX) Sécurité des fichiers

$ ls -l

1 userx group ....... virus

$ cat virus ( taper entrer )

notion absolue:

syntaxe:

$ chmod mode fichier(s)

mode : est la représentation octale des permission :

- le chiffre 1 correspond au mention r,w ou x

- le chiffre 0 correspond au tiret -

Exemple:

Permission

rwx rw- r--

111 110 100

correspond le mode 764

1- obtenir les droit d’accès suivants pour le fichier virus:

rw--w--w-

$ chmod 622 virus.

$ ls -l virus

-rw--w--w- ............ virus

2- protéger le fichier contre toute écriture

$ chmod a -w virus

$ ls -l virus

Dardouri Page 31 ISET DE NABEUL


SsoumayaSoumaya
Cours de LINUX(UNIX) Sécurité des fichiers

-r--r--r- ............... virus

$ cat > virus

virus: can not create .

3- remettre les droites d’accès de se ficher et l’état initiale :

$ chmod 644 virus

$ ls -l virus

-rw-r--r-- .......... virus

V/ CHANGEMENT DE PROPRIETAIRE ET DE GROUPE

1) changement de propriétaire :

Sous Unix le propriétaire a tout les droits sur ses fichiers. En effet, il a le droit de
transférer la propriété d’unfichier ou d’un répertoire vers un autre utilisateur. Pour se faire
il doit utiliser la commande chown (change owner)

attention !!:le changement de propriétaire fait perdre a celui -ci tout droit d’accès sur se
fichier, même celui de restaurer la propriété, sauf les droits permis pour les autres.

Syntaxe de chown:

$ chown nouveaux_ login -id fichier(s) (ou répertoire (s))

ou

$ chown nouveau-ind fichier (s) (ou répertoire (s)).

Exemple :

$ ls-l essai1

-rw--r--r-- 1 userx

Dardouri Page 32 ISET DE NABEUL


SsoumayaSoumaya
Cours de LINUX(UNIX) Sécurité des fichiers

$ ls -l essai1

-rw-r--r-- 1 admn group ......... essai

2- remettre le fichier à l’étatinitial.

$ chownuserxessai1.

essai1 : not owner .

Donc, lapropriéténepeutêtrerestauréequeparlenouveau propriétaire. Cette


opération se fait a l’aide de l’approche suivante :

$ chown usrx /usr/userx/essai 1

2) changement de groupe:

Un utilisateur peut choisir pour une de ses fichiers ou répertoires un groupe autre que
celui assigné normalement par le kernel. Cette procédure est réalisable par la commande
chgrp.(change groupe).

La syntaxe de la commande chgrp est:

$ chgrp nouveau_groupe fichiers () (ou répertoire (s))

ou

$ chgrp nouveau_gid fichier(s) (ou répertoire (s) )

Exemple :

1- changer le groupe du fichier essai1:

$ ls -l essai1

-rw-r--r-- 1 userx group .......essai1

$ chgrp sys essai1

$ ls -l essai1

-rw-r--r-- 1 userx sys ....... essai1

Les membres du groupe de travail de userx n’ont plus que le droit de lecture.

Dardouri Page 33 ISET DE NABEUL


SsoumayaSoumaya
Cours de LINUX(UNIX) Sécurité des fichiers

2- Pour restaurer le groupe d’origine:

$ chgrp group essai1

$ chgrp group essai1

-rw-r--r-- 1 userx group .........essai1

Remarque : manipuler les répertoires de la même manière.

VI/ L’INODE:

Un fichier possède plusieurs informations, tel que le nom, le contenu et d’autres


informations comme les permissions et les dates des derniers modifications. ces
informations sont sauvegardées dans l’INODE (index mode) avec d’autres données
essentielles comme la longueur du fichier, sont emplacement sur le disque ,...etc.

1) Représentation de l'INODE :

Dardouri Page 34 ISET DE NABEUL


SsoumayaSoumaya
Cours de LINUX(UNIX) Sécurité des fichiers

L’INODE est une suite de 64 octets qui définit les caractéristiques d’un fichier (type,
permission, adresse des données ). Toutes les INODES sont regroupées en une liste.
L’importance des inodes réside dans le fait qu'il sont pour le système comme le nom pour
l’utilisateur.

$ ls -i

8643 fich1

6286 fich2

le i-num d’un fichier est enregistré dans les deux premiers octets du repertoire, et est
l’unique

connexion entre le nom du fichier et sont contenu.

2) lien d’un fichier :

Le nom du fichier dans le répertoire servant de lien entre un nom dans la hiérarchie
d’un répertoire et l’inode est appelé le lieu. Le même i-num peut apparaitre dans des
répertoires différents avec des nom de fichiers différents grâce a la commande ln:

syntaxe:

$ ln fichier_ ancien fichier_ nouveau.

Le but de cette opération de donner deux noms au même fichier.

$ ls -li bidon

6231 -rw-rw-rw 1 ....... bidon

$ ln bidon /work/bidonne

$ ls -li bidon

6231 -rw-rw-rw 2 ........ bidon

$ ls -li bidonne

Dardouri Page 35 ISET DE NABEUL


SsoumayaSoumaya
Cours de LINUX(UNIX) Sécurité des fichiers

6231 -rw-rw-rw 2

nombredeliens.

Les deux fichiers pointent donc surs le même inode, ce qui veut dire qu’il ya un seul
espace disque associé aux deux noms de fichiers.

$ mv bidon bidon0

$ ls -li bidon0

6231 -rw-rw-rw 2.....bidon0

$ rm bidon0

$ ls -li bidon work/bidone

bidon not fownd

6231 -rw-rw-rw

REMARQUE:

la commande rm n’élimine pas l’inode, mais élimine le nom du fichier dansle répertoire
tout en décrémentant le nombre de liens par 1, les données restent intactes sur le disque.

Dardouri Page 36 ISET DE NABEUL


SsoumayaSoumaya

Vous aimerez peut-être aussi