Cours d’Administration des systèmes et réseaux Linux
Chapitre 1 : Généralités UNIX/LINUX
Introduction
Linux est un système d’exploitation libre ou open source c’est-à-dire un
système dont le code source est ouvert et peut être modifier. Il s’agit de la
version libre des systèmes Unix.
I-) UNIX
Unix est un OS créer dans les années 70. Il s’agit d’un système expérimental.
En 1977, il est associé aux distributions BSD (Ba kerly Software Distribution)
permettant de les rendre plus modulable. En 1983, le scientifique Richard
Stallman initie un projet Unix base sur un noyau GNU totalement libre. En
1985, tous les éléments moteurs du projet sont rassemblés et en 1990 la phase
pratique du projet est lancée. En 1991, le tout premier noyau Unix libre est créer
par Linus Towalds.
II-) LINUX
L’étudiant Finlandais Linus Towalds créer en 1991 la toute première
version du système libre Unix basée sur un noyau GNU libre (Linux). Il s’agit
de la version 0.01 qui sera récupérer et améliorer par un groupe de scientifiques
pour donner naissance a la version 0.99 en 1993. Cette version améliorée
constitue l’essence de toutes les distribution Linux actuelle.
III-) Les Distributions Linux
Il existe une multitude de distribution Linux compte tenu de la modularité de
son noyau. Les plus importantes sont les suivantes :
Debian
Ubuntu
Kali Linux
Red Hat
Fedora
Mandriva
Susse
Dans le jargon informatique, la nomenclature adaptée pour qualifier les systèmes
linux est la distribution ainsi, on parlera par exemple de la distribution Debian.
Tous possèdent le même noyau ou Kernel.
IV-) Arborescence des fichiers et répertoires Linux
Une arborescence est une représentation graphique permettant de structurer les
fichiers et les répertoires sous formes d’arbres avec un jeu d’hiérarchie.
Un répertoire parent est un répertoire qui comporte des sous répertoires ou
répertoires fils et des fichiers.
Un répertoire fils est un répertoire contenu dans d’autres répertoires. Le tout
premier répertoire de l’arborescence est appelé la racine, il est symbolisé par (/).
Soit un extrais de l’arborescence linux ci-dessous :
etc root dev home
boot Usr
System.d Config.d local bin lib
User1 User2
- Les répertoires etc comportent les informations de configuration du
système.
- Le répertoire /root est le dossier personnel de l’utilisateur ou du super
utilisateur.
- Le répertoire /boot comporte les informations de démarrage du système
- Le répertoire Usr comporte les documents, les fichiers, les informations
utilisées per les utilisateurs. Il comporte plusieurs sous répertoires
Le /Usr/local : comporte les informations d’installation locale des paquets
par l’utilisateur.
Le répertoire /Usr/bin : comporte les fichiers binaires et exécutables des
utilisateurs.
Le répertoire /Usr/lib comporte les bibliothèques des utilisateurs. L’accès
a cette bibliothèque se fait par ( )
Le répertoire /dev comporte les informations attachées aux périphériques
Le répertoire /home est le répertoire personnel des utilisateurs.
Quels types informations comporte ces répertoires ?
V-) Les architectures des systemes
Il existe trois principales composant d’un système d’exploitation :
- Le Kernel ou noyau : c’est la structure fondamentale, le code de base ou
le squelette d’un système d’exploitation.
- Le système de fichiers décrit l’organisation des objets systèmes fichiers
répertoires sur la mémoire par le système d’exploitation
- Le Shell ou environnement de commande : c’est l’environnement
permettant l’exécution des instructions a travers les lignes de codes.
Il existe 04 principaux modèles architecturaux de systèmes d’exploitation :
1-) le modèle en Couche
Le système d’exploitation est divisé en plusieurs couches, chaque couche est
indépendante des autres et communiques grâce a des primitives. Dans le modèle
circulaire en couche, la couche centrale est celle du noyau et la couche externe
est celle des services et des programmes comme le montrent les schémas ci-
dessous :
Nb : Ce modèle en couche est plus adapté pour les systèmes Windows et linux.
2-) le modèle Monolithique
Dans ce modèle, le noyau, la mémoire et les fichiers sont contenus dans un gros
bloc
Son intérêt est d’augmenter les performances du système en améliorant le temps
de latence du système.
L’inconvénient majeur est la difficulté à faire les mises à jour sur le système. Ce
modèle est plus adapté pour Windows NT et MAC.
3-) Modèle Micro-noyau
Dans ce modèle le noyau est minimaliste c’est-à-dire il est composé de sous
couches (la mémoire, les entrées/sorties et les fichiers)
3-) Modèle Hybride
Il s’agit de l’association d’un modèle monolithique et d’un modèle micro-noyau.
Devoir : différence entre le Shell et le power Shell
Un Shell est un programme qui sert d’interface entre l’utilisateur et le
système d’exploitation.
C’est souvent une interface textuelle (ligne de commande) qui permet d’entrer
des commandes, de lancer des programmes, et d’écrire des scripts pour
automatiser des tâches
PowerShell est un type particulier de Shell, mais bien plus qu’un simple
interpréteur de commandes :
C’est un Shell en ligne de commande et un langage de script puissant.
Il a été développé par Microsoft sur la plateforme .NET.
Il fonctionne sur Windows, MacOs et Linux (version PowerShell Core).
Nb : le rôle de la virtualisation est de centraliser les ressources de plusieurs
machines dans une seule.
On a 02 types de virtualiseur :
L’hyperviseur (l’hyperviseur de type 1 et l’hyperviseur de type 2) et l’isolateur
(répète plusieurs fois la même application sur un seul système).
Le swapping est une zone d’échange entre la Ram et la zone swap (alloue la
ressource) pour optimiser les capacités de la ram.
Commandes nécessaires pour le cas pratique.
Installation de kali linux
- Décompression du fichier VMware et procéder à l’installation (suivre les
étapes)
- Lancer l’appli et entrer la clé de licence (la première clé présente dans le
fichier de note keys présent dans le document VMware.
- Affichage de l’interface de VMware Workstation, cliquer sur create a new
Virtual machine et suivre les étapes
Gestion des groupes
- Création des group/utilisateur
- Affectation des groupes a des user
- Affecter un user à un group
- Interroger répertoire user/groups
- Changement de compte
- Suppression de compte
Linux est un système sensible à la casse. On écrit donc tout en minuscule
GID (group identified) c’est l’identifiantt du group
- Création des groupes (les commandes utilisées)
Sudo addgroup nom_group : création du groupe. Exemple : sudo
addgroup gl1a, puis entrer un mot de passe (03 lettres)
Sudo delgroup nom_group : pour supprimer le groupe
- Création des utilisateurs (les commandes utilisées)
Sudo adduser nom_utilisateur
Remplir les informations (nom, numéro de chambre, numéro
professionnel, numéro personnel, autre) avant ça entrer un
nouveau mot de passe (réitérer pour chaque utilisateur)
Dire si les informations sont correctes avec [o/n]
- Ajout d’un utilisateur a un groupes (commandes)
Sudo adduser nom_user nom_group
- Affectation d’un groupe secondaire a un utilisateur appartenant déjà à un
groupe primaire
sudo usermod – G gl1a, gl1b nom_user
- Interrogation de fichier
Cela se fait dans l’éditeur de texte nano. On utilise la commande :
Sudo nano /etc/group (Le fichier /etc/group donne des informations
sur la liste de utilisateurs et des groups).
Nb : on sort d’un fichier avec le raccourci clavier (ctrl + x), su est la commande
de changement d’utilisateur
Sudo nano /etc/shadow (Le fichier /etc/ shadow Donne des
Informations sur les paramètres (mots de passe) chiffrées des
utilisateurs)
Sudo nano /etc/passwd (le fichier /etc/passwd donne des
informations sur le répertoire personnel de chaque utilisateur
- Commande d’affichage du nom du propriétaire actuel du compte
Whoami (afficher le propriétaire actuel d’un compte)
Who (affichage de tous les utilisateurs raccorder au compte)
Sudo su nom_user
Sudo su nom_proprio_compte permet d’entrer dans le compte du
proprio du compte (exemple : sudo su kali)
- Pour sortir du répertoire courant et rentrer dans la racine
Cd /
Cd permet de changer de répertoire
Cd ~ permet d’accéder à la bibliothèque
Ls permet d’afficher le contenu d’un répertoire ou d’un fichier de la
bibliothèque principale
La commande Clear permet de nettoyer le système
- Création d’un répertoire
mkdir nom_repertoie1 nom_repertoire2 (permet de créer plusieurs
fichiers rattachés à un même répertoire parent), si on n’est pas dans
le root, on écrira (sudo mkdir nom_repertoire1 nom_repertoire2)
- Création des fichiers dans un répertoire
touch file {1 .. 50} (création de 50 fichiers dans un répertoire doc2,
auquel on accède par la commande cd doc2)
Nb : cd /doc1 permet de passer d’un répertoire doc2 a un répertoire doc1.
- Copier les fichiers de file {5 .. 10} vers le repertoire doc3
Cp /nom_repertoire_appartenance/ file {5 .. 10}
/nom_repertoire_parent_du_repertoire_de_destination/repertoire_d
estination (exemple : cp /doc2/ file {5 .. 10} /doc1/doc3
- Déplacer les fichiers vers un repertoire doc3
Mv /nom_repertoire_appartenance/ file {20..25}
/nom_repertoire_parent_du_repertoire_de_destination/repertoire_d
estination
Nb : pour rentrer a un repertoire en arriere on utilise la commande (cd .. )
- Renommer un repertoire
Ls /nouveau_nom
- Supprimer un fichier
Rm /repertoire_parent1/repertoire_parent2/nom_fichier
Rmdir ne peut pas supprimer un repertoire non-vide
Rm -r permet de supprimer un repertoire qui contient un autre ou
des fichiers
Pour ecrire dans un fichier
Nano nom_fichier, on valide et on saisi un texte dans le fichier, on appui
(ctrl + x), on saisi o et on presse la touche entrer. La commande nano
donne un droit de write uniquement.
Pour afficher le contenu d’un fichier
Cat nom_fichier (donne un droit de read et de write)