EITC/IS/LSA Linux System Administration est le programme européen de certification informatique sur l'administration et la gestion de la sécurité sous Linux, un système d'exploitation réseau open source souvent utilisé dans les serveurs avec une position de leader mondial.
Le programme d'administration du système Linux EITC/IS/LSA se concentre sur les connaissances et les compétences pratiques en matière d'administration et de gestion de la sécurité sous Linux, organisés au sein de la structure suivante, englobant un contenu didactique vidéo complet comme référence pour cette certification EITC.
Linux est une collection de systèmes d'exploitation open source de type Unix, qui sont généralement acceptés comme un standard de premier plan pour les systèmes d'exploitation de serveurs réseau, basés sur le noyau Linux de Linus Torvalds, qui a été initialement publié en 1991. Le noyau Linux, ainsi que le logiciel système et les bibliothèques qui l'accompagnent sont généralement regroupés dans une distribution Linux, nombre d'entre eux étant concédés sous licence dans le cadre du projet GNU. Bien que de nombreuses distributions Linux utilisent le terme « Linux », la Free Software Foundation préfère le terme « GNU/Linux » pour souligner l'importance du logiciel GNU.
Debian, Fedora et Ubuntu sont toutes des distributions Linux populaires. Red Hat Enterprise Linux et SUSE Linux Enterprise Server sont deux distributions commerciales. Un système de fenêtrage comme X11 ou Wayland, ainsi qu'un environnement de bureau comme GNOME ou KDE Plasma, sont inclus dans les distributions Linux de bureau. Les distributions de serveur peuvent inclure ou non des graphiques, ou peuvent inclure une pile de solutions telle que LAMP. N'importe qui peut produire une distribution dans n'importe quel but, car Linux est un logiciel open source librement redistribuable.
Linux a été créé pour les ordinateurs personnels basés sur l'architecture x86 d'Intel, mais il a ensuite été porté sur plus de plates-formes que tout autre système d'exploitation. Linux possède la plus grande base installée de tous les systèmes d'exploitation à usage général en raison de la domination d'Android basé sur Linux sur les smartphones. Malgré le fait que Linux n'est utilisé que par 2.3% des ordinateurs de bureau, le Chromebook, qui exécute le système d'exploitation Chrome basé sur le noyau Linux, domine le marché américain de l'éducation K-12 et représente environ 20% de toutes les ventes d'ordinateurs portables de moins de 300 $. . Linux est le système d'exploitation le plus populaire pour les serveurs (environ 96.4% du premier million de serveurs Web exécutent Linux), ainsi que d'autres grands systèmes de fer comme les ordinateurs centraux et les superordinateurs TOP1 (depuis novembre 500, après avoir progressivement éliminé tous les concurrents).
Linux est également disponible pour les systèmes embarqués, qui sont des périphériques dont le système d'exploitation est souvent intégré au micrologiciel et hautement personnalisé pour le système. Routeurs, commandes d'automatisation, technologie de maison intelligente, téléviseurs (les téléviseurs intelligents Samsung et LG utilisent Tizen et WebOS, respectivement), automobiles (Tesla, Audi, Mercedes-Benz, Hyundai et Toyota utilisent tous Linux), enregistreurs vidéo numériques, consoles de jeux vidéo , et les montres connectées sont tous des exemples d'appareils basés sur Linux. L'avionique du Falcon 9 et du Dragon 2 est basée sur une version personnalisée de Linux.
Linux est l'un des exemples les plus renommés de collaboration logicielle libre et open source. En vertu des règles de ses licences individuelles, telles que la licence publique générale GNU, le code source peut être utilisé, mis à jour et distribué commercialement ou non par n'importe qui.
Le noyau Linux n'a pas été conçu, mais a plutôt évolué par sélection naturelle, selon plusieurs développeurs open source. Bien que l'architecture Unix ait agi comme un échafaudage, Torvalds pense que "Linux a évolué avec de nombreuses mutations - et parce que les mutations étaient moins qu'aléatoires, elles étaient plus rapides et plus dirigées que les particules alpha dans l'ADN". Les caractéristiques révolutionnaires de Linux, selon Eric S. Raymond, sont sociales plutôt que techniques : avant Linux, les logiciels sophistiqués étaient laborieusement construits par de petits groupes, mais « Linux a grandi d'une manière très différente. Il a été piraté presque par inadvertance dès le début par de grands groupes de bénévoles qui communiquaient uniquement via Internet. La technique stupidement simple de publier chaque semaine et de recevoir les contributions de centaines d'utilisateurs en quelques jours, générant une forme de sélection darwinienne rapide sur les mutations apportées par les développeurs, plutôt que des normes rigoureuses ou une dictature, a été utilisée pour préserver la qualité. « Linux n'a pas été conçu, il a évolué », explique Bryan Cantrill, ingénieur pour un système d'exploitation concurrent, mais il considère cela comme une limitation, affirmant que certaines fonctionnalités, en particulier celles liées à la sécurité, ne peuvent pas évoluer, car « ce n'est pas Ce n'est pas un système biologique en fin de compte, c'est un système logiciel. Un système basé sur Linux est un système d'exploitation modulaire de type Unix qui tire une grande partie de son inspiration architecturale des principes Unix développés dans les années 1970 et 1980. Un noyau monolithique, le noyau Linux, est utilisé dans un tel système pour gérer le contrôle des processus, la mise en réseau, l'accès aux périphériques et les systèmes de fichiers. Les pilotes de périphérique sont soit intégrés directement au noyau, soit ajoutés en tant que modules qui sont chargés pendant que le système fonctionne.
L'espace utilisateur GNU est une caractéristique importante de la plupart des systèmes basés sur Linux, Android étant une exception. La chaîne d'outils est une vaste collection d'outils de programmation essentiels au développement Linux (y compris les compilateurs utilisés pour construire le noyau Linux lui-même), et les coreutils implémentent de nombreux outils Unix de base. L'implémentation du projet de la bibliothèque C fonctionne comme un wrapper pour les appels système du noyau Linux nécessaires à l'interface noyau-espace utilisateur, la chaîne d'outils est une large collection d'outils de programmation essentiels au développement Linux (y compris les compilateurs utilisés pour construire le noyau Linux lui-même) , et les coreutils implémentent de nombreux outils Unix de base. Bash, un shell CLI populaire, est également développé dans le cadre du projet. L'interface utilisateur graphique (ou GUI) de la plupart des systèmes Linux est basée sur une implémentation du système X Window. Plus récemment, la communauté Linux a travaillé pour remplacer X11 par Wayland comme protocole de serveur d'affichage de remplacement. Les systèmes Linux bénéficient de plusieurs autres initiatives de logiciels open source.
Les composants installés d'un système Linux sont les suivants :
- GNU GRUB, LILO, SYSLINUX ou Gummiboot sont des exemples de chargeurs de démarrage. Il s'agit d'un logiciel qui s'exécute à la mise sous tension de l'ordinateur et après l'initialisation du firmware pour charger le noyau Linux dans la mémoire principale de l'ordinateur.
- Un programme d'initialisation, tel que sysvinit ou le plus récent systemd, OpenRC ou Upstart. C'est le processus initial lancé par le noyau Linux, et il se trouve au sommet de l'arborescence des processus ; en d'autres termes, init est le point de départ de tous les autres processus. Il lance des tâches telles que les services système et les invites de connexion (qu'elles soient graphiques ou en mode terminal).
- Les bibliothèques de logiciels sont des collections de code qui peuvent être utilisées par d'autres programmes. L'éditeur de liens dynamique qui gère l'utilisation des bibliothèques dynamiques sur les systèmes Linux utilisant des fichiers exécutables au format ELF est connu sous le nom de ld-linux.so. Si le système est configuré pour que l'utilisateur puisse générer des applications lui-même, des fichiers d'en-tête seront inclus pour décrire l'interface des bibliothèques installées. Outre la bibliothèque GNU C (glibc), qui est la bibliothèque logicielle la plus utilisée sur les systèmes Linux, il existe d'autres bibliothèques, telles que SDL et Mesa.
- La bibliothèque GNU C est la bibliothèque standard C, qui est requise pour exécuter des programmes C sur un système informatique. Des alternatives pour les systèmes embarqués ont été développées, y compris musl, EGLIBC (un clone de glibc utilisé à l'origine par Debian) et uClibc (construit pour uClinux), mais les deux derniers ne sont plus maintenus. Bionic, la bibliothèque C d'Android, est utilisée.
- GNU coreutils est l'implémentation standard des commandes Unix de base. Pour les appareils embarqués, il existe des alternatives telles que le copyleft BusyBox et le Toybox sous licence BSD.
- Les boîtes à outils de widgets sont des bibliothèques permettant de créer des interfaces utilisateur graphiques (GUI) d'applications logicielles. GTK et Clutter, créés par le projet GNOME, Qt, développé par le projet Qt et dirigé par The Qt Company, et Enlightenment Foundation Libraries (EFL), maintenus principalement par l'équipe Enlightenment, font partie des kits d'outils de widgets disponibles.
- Un système de gestion de packages, tel que dpkg ou RPM, est utilisé pour gérer les packages. Les packages peuvent également être construits à partir d'archives sources ou d'archives binaires.
- Les interpréteurs de commandes et les environnements de fenêtrage sont des exemples de programmes d'interface utilisateur.
L'interface utilisateur, souvent appelée shell, est généralement une interface de ligne de commande (CLI), une interface utilisateur graphique (GUI) ou des commandes couplées au matériel qui l'accompagne. L'interface utilisateur typique sur les PC de bureau est généralement graphique, tandis que la CLI est fréquemment accessible via des fenêtres d'émulateur de terminal ou une console virtuelle séparée.
Les interfaces utilisateur basées sur du texte, ou shells CLI, utilisent du texte pour l'entrée et la sortie. Le Bourne-Again Shell (bash), qui a été créé pour le projet GNU, est le shell le plus utilisé sous Linux. La CLI est entièrement utilisée par la plupart des composants Linux de bas niveau, y compris diverses sections de l'espace utilisateur. La CLI est particulièrement bien adaptée à l'automatisation d'opérations répétées ou retardées, et elle permet une communication inter-processus relativement aisée.
Les shells GUI, remplis d'environnements de bureau complets tels que KDE Plasma, GNOME, MATE, Cinnamon, LXDE, Pantheon et Xfce, sont les interfaces utilisateur les plus populaires sur les systèmes de bureau, tandis qu'un certain nombre d'autres interfaces utilisateur existent. Le système X Window, également connu sous le nom de « X », sous-tend la majorité des interfaces utilisateur populaires. Il permet la transparence du réseau en permettant à une application graphique fonctionnant sur une machine d'être affichée sur une autre, où un utilisateur peut interagir avec elle ; cependant, certaines extensions du système X Window ne sont pas capables de fonctionner sur le réseau. Il existe plusieurs serveurs d'affichage X, dont le plus populaire est X.Org Server, qui est l'implémentation de référence.
Les distributions de serveur peuvent fournir une interface de ligne de commande pour les développeurs et les administrateurs, mais peuvent également inclure une interface sur mesure pour les utilisateurs finaux adaptée au cas d'utilisation du système. Cette interface personnalisée est accessible via un client s'exécutant sur un système différent qui n'est pas nécessairement basé sur Linux.
Pour X11, il existe plusieurs types de gestionnaires de fenêtres, notamment la mosaïque, la dynamique, l'empilement et la composition. Les gestionnaires de fenêtres interagissent avec le système X Window et vous permettent de contrôler l'emplacement et l'apparence des fenêtres d'application individuelles. Les gestionnaires de fenêtres X plus simples comme dwm, ratpoison, i3wm ou herbstluftwm ont une interface minimaliste, tandis que les gestionnaires de fenêtres plus complexes comme FVWM, Enlightenment ou Window Maker incluent des fonctionnalités supplémentaires comme une barre des tâches et des thèmes intégrés, mais sont toujours légers par rapport à environnements de bureau. Les gestionnaires de fenêtres tels que Mutter (GNOME), KWin (KDE) et Xfwm (xfce) sont inclus dans la plupart des installations de base des environnements de bureau, mais les utilisateurs peuvent choisir d'utiliser un autre gestionnaire de fenêtres s'ils le souhaitent.
Wayland est un protocole de serveur d'affichage qui a été conçu pour remplacer le protocole X11, mais il n'a pas encore été largement utilisé en 2014. Wayland, contrairement à X11, ne nécessite pas de gestionnaire de fenêtres externe ou de gestionnaire de composition. En conséquence, un compositeur Wayland sert à la fois de serveur d'affichage, de gestionnaire de fenêtres et de gestionnaire de composition. L'implémentation de référence de Wayland est Weston, bien que Mutter et KWin de GNOME et KDE soient convertis en Wayland en tant que serveurs d'affichage autonomes. Depuis la version 19, Enlightenment a été porté avec succès.
Pour vous familiariser en détail avec le programme de certification, vous pouvez développer et analyser le tableau ci-dessous.
Le programme de certification EITC/IS/LSA Linux System Administration fait référence à des supports didactiques en libre accès sous forme de vidéo. Le processus d'apprentissage est divisé en une structure étape par étape (programmes -> leçons -> sujets) couvrant les parties pertinentes du programme. Des conseils illimités avec des experts du domaine sont également fournis.
Pour plus de détails sur la procédure de certification, consultez Comment cela fonctionne.
Téléchargez le matériel préparatoire complet d'auto-apprentissage hors ligne pour le programme d'administration système Linux EITC/IS/LSA dans un fichier PDF.
Documents préparatoires EITC/IS/LSA – version standard
Documents préparatoires EITC/IS/LSA – version étendue avec questions de révision