Vous êtes sur la page 1sur 15

===============================================================================

TP N°1 : Présentation de Linux


===============================================================================

HALLOUI Abderrahmane

Administration de Serveurs Linux


===============================================================================
Introduction :

Ce rapport vise à explorer divers aspects des systèmes d'exploitation basés sur Linux, en mettant
l'accent sur les normes, les distributions Linux, l'aide Linux et les packages Linux. Il s'agit d'une
enquête approfondie de différentes facettes du monde open source et des systèmes d'exploitation
Linux. Les questions posées dans ce travail pratiques offrent une occasion de plonger dans les
normes, les distributions populaires, la documentation des commandes, et la gestion des packages.

I) Les standards et l’open source :


1- Qu'est-ce que le standard POSIX ?

Le standard POSIX, ou Portable Operating System Interface, est une norme développée par l'IEEE qui
définit une interface commune entre les systèmes d'exploitation Unix. Son objectif principal est de
garantir la portabilité des applications entre différents systèmes Unix. Il spécifie des interfaces pour
la programmation système, y compris les appels système, les bibliothèques et les commandes.

2.1- Comparaison entre le standard POSIX et la norme ISO/IEC 27001

Le standard POSIX se concentre sur l'interface système des systèmes Unix, tandis que la norme
ISO/IEC 27001 concerne la sécurité de l'information. Malgré leur différence de domaine, ces deux
normes partagent certains principes communs, notamment la documentation, la conformité, et la
gestion des risques.

2.2- Documentation du dernier standard POSIX

Le dernier standard c’est Zero Trust Reference Model (Snapshot), après télécharger le pdf, on trouve
ces informatios :
a) Références du dernier standard POSIX

Les références du document sont les suivantes :

 The Open Group Snapshot: Security Principles for Architecture, publié par The Open Group.
 NIST SP 800-61 Rev. 2: Computer Security Incident Handling Guide, publié par NIST en août
2012.
 Digital Government in Chile – Digital Identity, publié par OEC en octobre 2019.
 The Open Group Standard for SOA Reference Architecture (C119), publié par The Open
Group en décembre 2011.
 The Open Information Security Management Maturity Model (O-ISM3), Version 2.0 (C17B),
publié par The Open Group en septembre 2017.
 The Open Group Standard for Risk Analysis (O-RA) (C20A), publié par The Open Group en
novembre 2021.
 The Open Group Standard for Risk Taxonomy (O-RT) (C20B), publié par The Open Group en
novembre.
 Veuillez noter que les liens fournis étaient valides au moment de la rédaction, mais ne
peuvent être garantis pour l'avenir.
 Référence S232 : La référence "S232" fait référence au document intitulé "Zero Trust
Reference Model (Snapshot)" publié par The Open Group.
 Année d'édition : Le document a été publié en octobre 2023.
b) Extensions et variantes du standard POSIX

Il existe plusieurs extensions et variantes du standard POSIX (Portable Operating System Interface for
Unix). Voici quelques-unes d'entre elles :
 POSIX.1b (Real-time Extensions) : Cette extension ajoute des fonctionnalités de temps réel au
standard POSIX. Elle inclut des primitives pour la planification des tâches en temps réel, la
gestion des horloges, les sémaphores, les files de messages, etc. Ces extensions sont utiles
pour les systèmes embarqués et les applications nécessitant des contraintes temporelles
strictes.
 POSIX.1c (Threads Extensions) : Cette extension introduit le support des threads (processus
légers) dans le standard POSIX. Elle fournit des primitives pour la création, la synchronisation
et la communication entre les threads. Les threads permettent une utilisation plus efficace
des ressources système et facilitent la programmation concurrente.
 POSIX.1d (Real-time Threads Extensions) : Cette extension combine les fonctionnalités des
extensions POSIX.1b et POSIX.1c. Elle permet d'utiliser des threads en temps réel, offrant
ainsi à la fois les avantages de la programmation concurrente et des contraintes temporelles
strictes.
 POSIX.2 (Shell and Utilities) : Cette extension étend les fonctionnalités du shell et des
utilitaires de la ligne de commande. Elle introduit de nouvelles commandes, options et
variables d'environnement, ainsi que des améliorations de la syntaxe et des fonctionnalités
existantes. POSIX.2 facilite le développement de scripts et l'automatisation des tâches
système.

c) Types d'objets dans le format de fichier

D'après les informations fournies dans le document, les trois types d'objets qu'un format de fichier
peut avoir sont les suivants :
 Document : Il s'agit d'un type d'objet qui représente un fichier contenant des données
structurées, telles que du texte, des images, des tableaux, etc. Les formats de fichier de type
document sont conçus pour stocker et représenter des informations dans un format lisible
par les humains.
 Données : Ce type d'objet fait référence à des fichiers qui contiennent des données brutes ou
des informations spécifiques, telles que des fichiers de base de données, des fichiers de
feuilles de calcul, des fichiers CSV (Comma-Separated Values), etc. Les formats de fichier de
type données sont généralement utilisés pour stocker et échanger des données entre
différentes applications ou systèmes.
 Média : Les formats de fichier de type média sont utilisés pour stocker des fichiers
multimédias, tels que des images, des vidéos, des fichiers audio, etc. Ces formats sont
spécialement conçus pour stocker et représenter des données multimédias de manière
efficace et optimisée.
Ces trois types d'objets représentent les principales catégories de formats de fichier et couvrent une
large gamme d'applications et d'utilisations.

d) Exemples de variables d'environnement

D'après les informations fournies dans le document, voici trois exemples de variables
d'environnement :
 PATH : La variable d'environnement PATH est utilisée pour spécifier les répertoires dans
lesquels le système d'exploitation recherche les exécutables des commandes. Elle permet
d'accéder facilement aux programmes et aux scripts depuis n'importe quel emplacement
dans le système.
 HOME : La variable d'environnement HOME est utilisée pour spécifier le répertoire personnel
de l'utilisateur. Elle indique le répertoire de base dans lequel les fichiers personnels de
l'utilisateur, tels que les documents, les fichiers de configuration, etc., sont stockés.
 LANG : La variable d'environnement LANG est utilisée pour spécifier la langue et les
paramètres régionaux par défaut du système. Elle détermine la langue utilisée pour les
messages système, les formats de date et d'heure, les caractères spéciaux, etc.
Ces variables d'environnement sont couramment utilisées dans les systèmes d'exploitation pour
configurer et personnaliser le comportement du système en fonction des préférences de l'utilisateur
et des paramètres régionaux.

II) Distributions Linux :


1- Les distributions Linux les plus populaires

MX Linux
Mint
EndeavourOS

2- Informations sur la distribution Parrot

La distribution Parrot est une distribution Linux qui est principalement axée sur la sécurité
informatique et la cybersécurité. Sa philosophie de développement est de fournir une plateforme
Linux robuste et puissante pour les professionnels de la sécurité, les chercheurs en sécurité, les
développeurs et les passionnés de cybersécurité. Voici quelques éléments clés de la philosophie ou
des principaux objectifs de développement de la distribution Parrot :

 Cybersécurité et Pentesting : Parrot est conçue pour être un outil efficace pour les
professionnels de la sécurité informatique. Elle intègre de nombreux outils et utilitaires de
test de pénétration (pentesting) pour l'audit de la sécurité des systèmes et des réseaux.
 Sécurité et Anonymat : Parrot met l'accent sur la sécurité et l'anonymat en ligne. Elle offre
des outils pour la protection de la vie privée et la sécurisation des communications, ce qui la
rend appropriée pour des utilisations sensibles.

 Léger et Performant : Parrot est conçue pour être légère et performante, de sorte qu'elle
peut être utilisée sur une variété de systèmes, y compris des machines virtuelles, des
ordinateurs portables et des serveurs.

 Support Multilingue : Elle offre un support multilingue pour rendre ses outils accessibles à
un public mondial.

 Basée sur Debian : Parrot est basée sur Debian, ce qui signifie qu'elle hérite de la stabilité et
de la fiabilité de cette distribution Linux tout en ajoutant des fonctionnalités et des outils
spécifiques à la sécurité.
 Communauté Active : Parrot dispose d'une communauté active de développeurs, de
chercheurs en sécurité et d'utilisateurs, ce qui garantit un développement continu et des
mises à jour fréquentes.

 Open Source : Comme la plupart des distributions Linux, Parrot est open source, ce qui
signifie que le code source est accessible et modifiable par tous.

En résumé, la distribution Parrot se concentre sur la sécurité, la cybersécurité et la protection de la


vie privée, en offrant une plateforme Linux complète et puissante pour les professionnels et les
passionnés de sécurité informatique.

3- Dernière version stable d'Ubuntu


La dernière version d’ubuntu c’est 23.10
La dernière date de sortie c’est : 2023/10/30

III) Aide Linux :


Introduction :
La commande man est l'outil de référence pour accéder aux pages de manuel et obtenir des
informations sur diverses commandes dans le shell Unix. Ce rapport examine l'utilisation de la
commande man pour accéder aux informations sur des commandes spécifiques et les notations pour
changer les permissions des fichiers avec chmod.

1) Afficher le manuel de la commande man :


Pour afficher le manuel de la commande man elle-même, nous utilisons la commande suivante :
man man
2) Rechercher des commandes réseau :

Nous utilisons la commande man avec l'option -k pour rechercher des commandes liées au réseau :
man -k network

Voici quelques-unes des commandes réseau disponibles et à quoi elles servent :

netstat : Affiche des statistiques réseau.


ifconfig : Configure et affiche les interfaces réseau.
ping : Envoie des paquets ICMP pour tester la connectivité réseau.
traceroute : Trace le chemin suivi par les paquets vers une destination.
ssh : Permet de se connecter de manière sécurisée à un autre hôte.
telnet : Permet de se connecter à un autre hôte via Telnet (moins sécurisé que SSH).
3) Obtenir des informations sur la commande ls :

Pour obtenir des informations sur la commande ls, nous utilisons la commande suivante :man ls
Les options les plus couramment utilisées avec la commande ls sont :

-l : Affiche les fichiers sous forme de liste détaillée.


-a : Affiche tous les fichiers, y compris les fichiers cachés.
-h : Rend les tailles de fichiers plus lisibles pour les humains.
-t : Trie les fichiers par date de modification.
-r : Trie les fichiers en ordre inverse.

4) Accéder au manuel de la commande chmod :

Pour accéder au manuel de la commande chmod, nous utilisons la commande suivante :man chmod
permission -k
La commande chmod permet de changer les permissions des fichiers ou répertoires sur les systèmes
Unix/Linux. Les différentes notations que l'on peut utiliser pour changer les permissions avec chmod
sont les suivantes :
Notation Octale (Chiffres) : C'est la notation la plus couramment utilisée. Elle utilise des chiffres
octaux pour représenter les différentes permissions. Les chiffres sont attribués en fonction des trois
types de permissions : lecture (4), écriture (2) et exécution (1). Par exemple, chmod 755 fichier
permet au propriétaire du fichier d'avoir toutes les permissions (lecture, écriture, exécution), et aux
autres utilisateurs d'avoir seulement la permission de lecture et d'exécution.
Notation Symbolique (Alphabétique) : Cette notation utilise des symboles alphabétiques pour
représenter les différents types de permissions. Les symboles sont u pour l'utilisateur (propriétaire),
g pour le groupe, et o pour les autres (tous les utilisateurs). Les permissions sont représentées par +
pour ajouter des permissions, - pour en retirer, et = pour définir explicitement des permissions. Par
exemple, chmod u+rwx,go=rx fichier définit des permissions spécifiques pour le propriétaire et retire
les permissions de groupe et d'autres utilisateurs.
Notation Combinée (Octale + Symbolique) : Vous pouvez également combiner les notations octales
et symboliques pour définir des permissions. Par exemple, chmod 644 fichier est équivalent à chmod
u=rw,go=r fichier et accorde la lecture et l'écriture au propriétaire, et la lecture aux autres
utilisateurs.
Notation Numérique : Une autre notation numérique moins courante utilise un numéro pour
représenter les permissions. Par exemple, chmod 0644 fichier équivaut à accorder la lecture et
l'écriture au propriétaire, et la lecture aux autres utilisateurs.
Le manuel de chmod explique les différentes notations que l'on peut utiliser pour changer les
permissions, notamment la notation octale, symbolique et en lettres.

Conclusion :

La commande man est un outil essentiel pour accéder aux informations sur les commandes du shell
Unix. Elle permet de rechercher des commandes, d'obtenir des détails sur leur utilisation et de
comprendre les différentes notations pour changer les permissions des fichiers avec chmod.

IV) Les packages Linux :

Partie 1 : Fedora (RPM)


1- Détermination du Nombre de Packages Installés :

Pour déterminer le nombre de packages actuellement installés sur la machine Fedora, la commande
suivante a été utilisée : Rpm –qa | wc -l
Le résultat était de 683 packages installés.

2-Vérification de la Présence du Package "binutils" :

Pour vérifier si le package "binutils" était présent, la commande suivante a été utilisée :
Rpm –q binutils
La présence du package "binutils" a été confirmée.
Obtention de la Description du Package "binutils" :

Pour obtenir la description du package "binutils", la commande suivante a été utilisée :


rpm -q --queryformat "%{DESCRIPTION}\n" binutils
Voila, la commande est bien retourné la description du package.

3-Tentative de Suppression du Package "coreutils" :

Une tentative de suppression du package "coreutils" a été effectuée à l'aide de la commande :


dnf remove coreutils

Cependant, cette commande a généré des avertissements concernant les dépendances et n'a pas
permis la suppression du package "coreutils".

4-Téléchargement et Installation de la Dernière Version de "npm" :

Pour télécharger et installer la dernière version de "npm" sur Fedora, la commande sudo rpm –i rpm
a été utilisée pour télécharger le package, suivi de dnf install nodejs pour l'installation, après onà voir
la version du npm a l’aide du commande : npm –v.
Partie 2 : Debian (DPKG)

1-Détermination du Nombre de Packages Installés :

Pour déterminer le nombre de packages installés sur la machine Debian, la commande suivante a été
utilisée : sudo dpkg –query –f ‘${binary :Package}\n’ -W | wc -l
Le résultat était de 1775 packages installés.

2-Vérification de la Présence du Package "binutils" :

Pour vérifier la présence du package "binutils", la commande suivante a été utilisée :


Sudo dpkg-query –l | grep binutils
La présence du package "binutils" a été confirmée.

Obtention de la Description du Package "binutils" :

Pour obtenir la description du package "binutils", la commande suivante a été utilisée :


Sudo dpkg-query -W –f=’${Description}\n’ binutils
La description du package "binutils" a été affichée.
3-Tentative de Suppression du Package "coreutils" :

Une tentative de suppression du package "coreutils" à l'aide de la commande : sudo dpkg –r coreutils
Le package "coreutils" n’a pas été supprimé, car c’est un fichier de base.

4-Téléchargement et Installation de la Dernière Version de "npm" :

Pour télécharger et installer la dernière version de "npm" sur Debian, la commande :


sudo dpkg -i /chemin/vers/le/fichier/nodejs_18.13.0+dfsg1-1_amd64.deb a été utilisée.
Conclusion :

La gestion des packages dans les distributions Linux Fedora et Debian est essentielle pour maintenir
un système fonctionnel. Les méthodes pour réaliser ces tâches peuvent varier en fonction du
gestionnaire de packages utilisé, de la distribution et de la disponibilité des informations. Il est
important de prendre en compte les dépendances lors de la suppression de packages, car cela peut
avoir un impact sur la stabilité du système.

Conclusion générale:

Ce rapport offre une vue d'ensemble complète des normes, des distributions, de l'aide Linux et de la
gestion des packages sur les systèmes d'exploitation Linux. Il démontre l'importance des normes
pour garantir l'interopérabilité, la diversité des distributions Linux, l'efficacité de la commande "man"
pour obtenir de l'aide et la flexibilité offerte par les gestionnaires de packages. Il s'agit d'une
exploration enrichissante de l'univers open source et des systèmes d'exploitation Linux, mettant en
lumière les fondamentaux qui sous-tendent ces systèmes informatiques puissants.

Vous aimerez peut-être aussi