Windowsien depuis plus de 40 ans, j'ai été conquis par Linux (Ubuntu) et en particulier par la ligne de commande. Très bon ouvrage de base !
Claude LLinux De la ligne de commande à l'administration système
1 avis
Ce livre, dédié à tous ceux qui aspirent à devenir des experts en système d'exploitation Linux, propose une approche pratique, enrichie de nombreux exemples concrets et d'astuces précieuses, vous emmène de la maîtrise des bases essentielles à celle des techniques avancées d’administration du système. Vous commencez par explorer la philosophie open source et les diverses distributions Linux avant d’apprendre concrètement à gérer des permissions, des solutions de sécurité comme SELinux et...
Consulter des extraits du livre en ligne
Aperçu du livre papier
- Niveau Confirmé à Expert
- Nombre de pages 325 pages
- Parution septembre 2024
- Niveau Confirmé à Expert
- Parution septembre 2024
Ce livre, dédié à tous ceux qui aspirent à devenir des experts en système d'exploitation Linux, propose une approche pratique, enrichie de nombreux exemples concrets et d'astuces précieuses, vous emmène de la maîtrise des bases essentielles à celle des techniques avancées d’administration du système.
Vous commencez par explorer la philosophie open source et les diverses distributions Linux avant d’apprendre concrètement à gérer des permissions, des solutions de sécurité comme SELinux et AppArmor, la configuration réseau ou encore les utilisateurs et les groupes.
La suite de la lecture vous plonge au cœur de l'administration système, allant de la gestion des packages, des services système et des processus, aux fonctionnalités plus avancées telles que la virtualisation, les conteneurs et la gestion de serveurs, y compris les serveurs LAMP et SSH.
Vous apprenez à utiliser Linux pour des réseaux plus complexes, depuis les VLAN et VPN jusqu'aux serveurs proxy et DNS.
Avec l'utilisation de Docker et les principes de l'automatisation avec Puppet et Ansible, l’auteur met en lumière des stratégies pour optimiser et sécuriser les infrastructures IT. La sécurité de Linux n'aura plus de secret pour vous grâce à l’exploration des risques courants et des mesures de prévention contre l'escalade de privilèges.
Pour finir, vous découvrez les perspectives et les bonnes pratiques pour une administration système réfléchie et proactive.
Vous commencez par explorer la philosophie open source et les diverses distributions Linux avant d’apprendre concrètement à gérer des permissions, des solutions de sécurité comme SELinux et AppArmor, la configuration réseau ou encore les utilisateurs et les groupes.
La suite de la lecture vous plonge au cœur de l'administration système, allant de la gestion des packages, des services système et des processus, aux fonctionnalités plus avancées telles que la virtualisation, les conteneurs et la gestion de serveurs, y compris les serveurs LAMP et SSH.
Vous apprenez à utiliser Linux pour des réseaux plus complexes, depuis les VLAN et VPN jusqu'aux serveurs proxy et DNS.
Avec l'utilisation de Docker et les principes de l'automatisation avec Puppet et Ansible, l’auteur met en lumière des stratégies pour optimiser et sécuriser les infrastructures IT. La sécurité de Linux n'aura plus de secret pour vous grâce à l’exploration des risques courants et des mesures de prévention contre l'escalade de privilèges.
Pour finir, vous découvrez les perspectives et les bonnes pratiques pour une administration système réfléchie et proactive.
Avant-propos
- Introduction
Introduction à Linux
- Les origines de Linux
- Les différentes distributions de Linux
- 1. Slackware
- 2. Debian
- 3. Red Hat Enterprise Linux (RHEL)
- 4. Fedora
- 5. Ubuntu
- 6. Arch Linux
La ligne de commande
- Les commandes de base de Linux
- Les permissions, la sécurité et les ACL
- 1. Les permissions
- a. Généralités
- b. Gestion des permissions et des propriétairesde fichiers/dossiers
- 1. Les permissions
- 2. Les niveaux de sécurité
- a. SELinux
- b. AppArmor
- 3. Les ACL
Configuration du système
- Configuration du réseau
- 1. ifconfig
- 2. ip
- 3. netstat
- 4. ss
- 5. ping
- 6. traceroute
- Gestion des utilisateurs et des groupes
- 1. Gestion des utilisateurs
- 2. Gestion des groupes
Administration système
- Gestion des packages et des mises à jour
- 1. Debian et le système APT
- a. Gestion des packages
- b. Mise à niveau
- c. Recherche et information
- 1. Debian et le système APT
- 2. Fedora et le système DNF
- a. Gestion des packages
- b. Gestion des groupes
- c. Mise à niveau
- d. Recherche et information
- 1. Commandes de base de systemctl
- 2. Commandes supplémentaires
- 1. Gestion des tâches avec cron et crontab
- 2. Gestion des processus
Administration avancée
- Les outils de monitoring et de diagnostic
- 1. top - Surveillance des processus en temps réel
- 2. htop, une alternative colorée
- 3. free, l’utilitaire pour la mémoirevive
- 4. Nagios
- 5. Zabbix
- 6. Quelle solution privilégier ?
- a. Nagios
- b. Zabbix
- 1. Pourquoi sauvegarder ?
- 2. Pourquoi restaurer ?
- 3. Sauvegardes
- 4. Restauration
- 1. Virtualisation
- 2. Containerisation
Déploiement et gestion de serveurs
- La mise en place d’un serveur LAMP
- 1. Comment fonctionnent les modules Apache ?
- 2. Activation des modules Apache
- La gestion d’un serveur de fichiers
- La gestion des serveurs avec SSH
Réseaux avancés avec Linux
- Introduction aux réseaux avancés
- Configuration de réseaux VLAN et VPN
- 1. Les VLAN
- 2. Les VPN
- Utilisation de serveurs proxy
- 1. Squid : optimisation et contrôle
- 2. Privoxy : confidentialité et filtrage
- 3. Implémentation et gestion
- 4. Avantages additionnels
- 5. Ce qu’il faut retenir
- Configuration de serveurs DNS
- Utilisation de serveurs DHCP
- Configuration de pare-feu
- 1. Configuration de base
- 2. Pour aller plus loin
Outils d'automatisation avec Docker
- Les bases de Docker et les microservices
- 1. Origines de Docker : un changement paradigmatique dansla conteneurisation
- 2. Le décollage de Docker et l’adoption communautaire
- 3. L’influence croissante de Docker dans le développement logiciel
- La mise en place de microservices avec Docker
- 1. Les conteneurs sur Docker
- 2. Les Dockerfiles : script de construction d’images
- 3. Dockerfile pour une application web basique en Node.js
- 4. Dockerfile pour une application Python/Flask
- 5. Dockerfile pour une application Java avec Maven
- 6. Dockerfile pour une base de données MySQL
- 7. Dockerfile pour une application en Go
- 8. Le rôle crucial des registries Docker dansla conteneurisation
- 9. Docker Hub : un pilier de la communauté Docker
- 10. Utiliser Docker Hub : pratiques et considérations
- 11. Installation de Docker
- 12. Création de compte sur Docker Hub
- 13. Options courantes
- La gestion de microservices avec Docker
- 1. Les commandes populaires de Docker
- 2. Commandes supplémentaires pour la gestiondes volumes
- 3. Orchestration avec Docker Compose
- 4. Structure de base
- 5. Eléments clés à retenir
- 6. Explications de notre fichier
Outils d'automatisation avec Puppet et Ansible
- Les principes de base de l'automatisation avec Puppet
- 1. Avantages de Puppet
- 2. Inconvénients de Puppet
- 3. Architecture maître-agent (master-slave)
- 4. Échange de certificats
- 5. Création des manifestes et compilation encatalogues
- 6. Exécution du catalogue sur le client
- 7. Installation et configuration de Puppet
- 8. Générer et signer le certificatde l’agent
- 9. Écrire et déployer des manifestes
- Les principes de base de l'automatisation avec Ansible
- 1. Architecture sans agent
- 2. Modules
- 3. Playbooks
- a. Installation et démarrage d’un serveur webApache
- b. Création d’utilisateurs
- c. Mise à jour de tous les paquets sur des serveursDebian
- d. Appliquer un playbook
- 4. Inventaire
- a. Exemple en format INI
- b. Exemple en format YAML
- 5. Variables
- a. Variables définies dans un playbook
- b. Variables dans les fichiers d’inventaire
- c. Variables dans les fichiers de variables séparés
- d. Passage de variables en ligne de commande
- e. Utilisation de variables dans les templates Jinja2
- 6. Facts
- a. Exemple d’utilisation des facts dans un playbook
- b. Exemples de facts couramment utilisés
- 7. Rôles
- a. Structure du fichier defaults/main.yml
- b. Structure du fichier handlers/main.yml
- c. Structure du fichier meta/main.yml
- d. Structure du fichier tasks/main.yml
- e. Structure du fichier templates/nginx.conf.j2
- f. Structure du fichier vars/main.yml
- 8. Fonctionnement global
- 9. Installation et configuration de Ansible
- 10. Ajout de la clé publique SSH sur une autremachine
- 11. Configuration de base d’Ansible pour utiliser la machine
- 1. Scénario A : configuration d’un serveur webNGINX avec SSL et redirection
- 2. Scénario B : configuration d’unserveur de base de données PostgreSQL avec réplication
- 3. Scénario C : configuration d’un serveur webNGINX
- 4. Scénario D : mise en place de règlesde pare-feu avec UFW
- 5. Scénario E : réplication de basede données PostgreSQL
- 6. Scénario F : automatisation des sauvegardes
Gestion des privilèges et sécurité sous Linux
- Les risques de sécurité courants et escalade de privilèges
- 1. Énumération sur la machine
- 2. Mécanismes internes
- a. Interfaces réseau
- b. Dernière connexion des utilisateurs
- c. Historique des commandes
- d. Trouver des fichiers d’historique
- e. Proc
- f. Services
- g. Recherche des identifiants
- h. Clés SSH
- 3. Abus de droits sudo
- 4. Capacités (capabilities)
- 5. Scripts et outils automatisés
- 6. Permissions spéciales
- 7. Abus de PATH
Conclusion
- Les perspectives et les enjeux de Linux
- Les bonnes pratiques pour une utilisation optimale
Jérémy GAK
Jérémy GAK est un ingénieur Linux doté de plus de huit ans d'expérience dans le domaine. Sa carrière diversifiée s'étend de l'administration système et réseau à une expertise pointue en sécurité informatique. Consultant et ingénieur système de métier et actif dans la veille technologique, il est expert sur les technologies open source, l'automatisation des processus et la cybersécurité. Sa participation à des projets d'envergure et son expertise dans la gestion des infrastructures sous Linux, ainsi que son utilisation avancée d'outils tels que Docker, Kubernetes, Puppet et Ansible, témoignent de sa capacité à mettre en œuvre des solutions technologiques complexes avec rigueur et précision. En parallèle, il participe à plusieurs projets innovants, notamment dans le domaine de l'intelligence artificielle, affirmant ainsi son engagement pour l'excellence dans le domaine technologique.
En savoir plus