Podcast
Questions and Answers
Quelle commande permet d'afficher tous les processus, y compris ceux sans terminal ?
Quelle commande permet d'afficher tous les processus, y compris ceux sans terminal ?
Que signifie l'option '-F' dans la commande ps ?
Que signifie l'option '-F' dans la commande ps ?
Quel identifiant est utilisé pour désigner le processus parent dans la sortie de la commande ps ?
Quel identifiant est utilisé pour désigner le processus parent dans la sortie de la commande ps ?
Quelle option de ps permet de spécifier les colonnes à afficher dans la sortie ?
Quelle option de ps permet de spécifier les colonnes à afficher dans la sortie ?
Signup and view all the answers
Quelle commande est utilisée pour accéder à une interface interactive pour suivre les processus en temps réel ?
Quelle commande est utilisée pour accéder à une interface interactive pour suivre les processus en temps réel ?
Signup and view all the answers
Quelle option trierait les processus par leur consommation de mémoire dans la commande top ?
Quelle option trierait les processus par leur consommation de mémoire dans la commande top ?
Signup and view all the answers
Quel est le résultat de la commande ps sans options ?
Quel est le résultat de la commande ps sans options ?
Signup and view all the answers
Quel est l'effet de l'option '--sort' dans la commande ps ?
Quel est l'effet de l'option '--sort' dans la commande ps ?
Signup and view all the answers
Quelle est la principale responsabilité de l'administrateur système?
Quelle est la principale responsabilité de l'administrateur système?
Signup and view all the answers
Quelle tâche fait partie des responsabilités normales d'un administrateur système?
Quelle tâche fait partie des responsabilités normales d'un administrateur système?
Signup and view all the answers
Quand une opération de sauvegarde est-elle principalement effectuée par un administrateur système?
Quand une opération de sauvegarde est-elle principalement effectuée par un administrateur système?
Signup and view all the answers
Quelles compétences sont nécessaires pour un administrateur système concernant la programmation?
Quelles compétences sont nécessaires pour un administrateur système concernant la programmation?
Signup and view all the answers
Dans le cadre de la configuration, qu'est-ce que l'administrateur système doit gérer?
Dans le cadre de la configuration, qu'est-ce que l'administrateur système doit gérer?
Signup and view all the answers
Quel type de services l'administrateur système est-il responsable de superviser?
Quel type de services l'administrateur système est-il responsable de superviser?
Signup and view all the answers
En matière de sécurité, qu'est-ce que l'administrateur système doit assurer?
En matière de sécurité, qu'est-ce que l'administrateur système doit assurer?
Signup and view all the answers
Quelle tâche n'est PAS typiquement effectuée par un administrateur système?
Quelle tâche n'est PAS typiquement effectuée par un administrateur système?
Signup and view all the answers
Quelles technologies sont fondamentales pour le fonctionnement de Docker ?
Quelles technologies sont fondamentales pour le fonctionnement de Docker ?
Signup and view all the answers
Quel outil est recommandé pour gérer un grand nombre de conteneurs ?
Quel outil est recommandé pour gérer un grand nombre de conteneurs ?
Signup and view all the answers
Quel est un des inconvénients liés au partage du noyau de l'hôte avec les conteneurs ?
Quel est un des inconvénients liés au partage du noyau de l'hôte avec les conteneurs ?
Signup and view all the answers
Quel outil permet de faire collaborer plusieurs conteneurs ensemble ?
Quel outil permet de faire collaborer plusieurs conteneurs ensemble ?
Signup and view all the answers
Parmi les alternatives à Docker, laquelle est correcte ?
Parmi les alternatives à Docker, laquelle est correcte ?
Signup and view all the answers
Que représente une ligne vide dans un fichier de configuration du shell?
Que représente une ligne vide dans un fichier de configuration du shell?
Signup and view all the answers
Quelle commande est utilisée pour définir une variable d'environnement dans le shell?
Quelle commande est utilisée pour définir une variable d'environnement dans le shell?
Signup and view all the answers
Quel est le rôle de la variable d'environnement PATH?
Quel est le rôle de la variable d'environnement PATH?
Signup and view all the answers
Quel fichier de configuration d’Apache contient les directives globales?
Quel fichier de configuration d’Apache contient les directives globales?
Signup and view all the answers
Que fait la commande 'alias' dans un shell?
Que fait la commande 'alias' dans un shell?
Signup and view all the answers
Quel est l'effet de l'utilisation de guillemets doubles autour d'une variable dans le shell?
Quel est l'effet de l'utilisation de guillemets doubles autour d'une variable dans le shell?
Signup and view all the answers
Quel type de fichier est le fichier .bashrc?
Quel type de fichier est le fichier .bashrc?
Signup and view all the answers
Quel dossier contient les modules Apache disponibles?
Quel dossier contient les modules Apache disponibles?
Signup and view all the answers
Quelle option de cURL permet de reprendre un téléchargement interrompu ?
Quelle option de cURL permet de reprendre un téléchargement interrompu ?
Signup and view all the answers
Quel est l'objectif de l'option -z dans cURL ?
Quel est l'objectif de l'option -z dans cURL ?
Signup and view all the answers
Quelle pratique recommande-t-on pour limiter les risques lors de l'exposition d'un service ?
Quelle pratique recommande-t-on pour limiter les risques lors de l'exposition d'un service ?
Signup and view all the answers
L'option --trace dans cURL est utilisée pour :
L'option --trace dans cURL est utilisée pour :
Signup and view all the answers
Que signifie OWASP dans le contexte de la cybersécurité ?
Que signifie OWASP dans le contexte de la cybersécurité ?
Signup and view all the answers
Quelle commande cURL permet de télécharger un fichier sous son nom d'origine ?
Quelle commande cURL permet de télécharger un fichier sous son nom d'origine ?
Signup and view all the answers
Pour quel risque majeur l'exposition des données sensibles doit-elle être contrôlée ?
Pour quel risque majeur l'exposition des données sensibles doit-elle être contrôlée ?
Signup and view all the answers
Quelle option de cURL active le mode verbeux ?
Quelle option de cURL active le mode verbeux ?
Signup and view all the answers
Quel est le rôle principal d'un conteneur dans Docker?
Quel est le rôle principal d'un conteneur dans Docker?
Signup and view all the answers
Qu'est-ce qu'une image Docker?
Qu'est-ce qu'une image Docker?
Signup and view all the answers
Quel est l'objectif principal du Docker HUB?
Quel est l'objectif principal du Docker HUB?
Signup and view all the answers
Qu'est-ce qu'un Dockerfile?
Qu'est-ce qu'un Dockerfile?
Signup and view all the answers
Quels commandements permettent de détacher une session dans tmux?
Quels commandements permettent de détacher une session dans tmux?
Signup and view all the answers
Quel est le rôle d'un registre dans Docker?
Quel est le rôle d'un registre dans Docker?
Signup and view all the answers
Quelle affirmation sur les conteneurs est correcte?
Quelle affirmation sur les conteneurs est correcte?
Signup and view all the answers
Quelle commande est utilisée pour lister les fenêtres dans tmux?
Quelle commande est utilisée pour lister les fenêtres dans tmux?
Signup and view all the answers
Study Notes
Chapitre 5: Administration des systèmes
- Le chapitre porte sur l'utilisation et l'administration des systèmes informatiques.
- Les auteurs sont Jean Privat et Alexandre Blondin Massé de l'Université du Québec à Montréal.
- Le document est version v243.
- Le document est sous licence CC-BY-NC-SA.
- Le numéro de cours est INF1070.
Plan
- Le cours est divisé en neuf sections.
- Ces sections sont :
- Processus
- Services et démons (daemon)
- Installation
- Démarrage et services
- Configuration
- Naviguer sur le web
- Cybersécurité
- Multiplexeur de terminaux et sessions
- Docker
Administration système
- L'administrateur système est responsable des serveurs et postes informatiques au niveau logiciel.
- Les tâches typiques incluent l'installation, la désinstallation, la configuration, la mise à jour et la supervision des services logiciels.
- D'autres tâches comprennent la configuration des disques, l'organisation des partitions, la gestion des sauvegardes, la configuration des périphériques, l'ajout/suppression d'utilisateurs, la configuration des comptes utilisateurs et du réseau, ainsi que la sécurité des services gérés.
- Les administrateurs système doivent être capables de programmer et comprendre les scripts shell, de compiler et installer des programmes.
Processus UNIX
- Un processus UNIX est un programme en cours d'exécution.
- Il comprend le programme exécuté, l'état et les ressources (mémoire, CPU), l'utilisateur (et le groupe), l'identifiant de processus (PID), le processus parent, et d'autres informations utiles.
- Les processus sont isolés les uns des autres, cohérents et peuvent exister en même temps (multitâche).
- Ils ne peuvent pas corrompre d'autres processus (sauf s'ils respectent les règles).
- Ils peuvent coopérer via des mécanismes comme les tubes.
Lister les processus
- La commande
ps
fournit un instantané des processus. - Par défaut,
ps
affiche les informations des processus actifs pour l'utilisateur courant et dans le terminal en cours. - Elle fournit peu d'informations, avec options peuvent donner plus de details.
- Des commandes comme
head -n 50
,sort -n
, etgrep
peuvent être utilisées pour filtrer et formater les données.
Arborescence des processus
- Un nouveau processus est créé par un autre processus, appelé le processus parent.
- Le processus initial (racine) est appelé
init
(ousystemd
) avec un PID = 1. - Sous UNIX, la relation parent-enfant est conservée, créant une arborescence de processus.
- La commande
pstree
peut afficher une vue arborescente des processus.
Options de ps
-
ps
a des options pour afficher tous les processus, afficher plus de colonnes, et afficher tous les processus (même ceux sans terminal). - Certaines options permettent d'afficher des colonnes orientées utilisateur, ou des colonnes spécifiques.
Information des processus
- La commande
ps -F
affiche des informations détaillées sur les processus, incluant l'ID d'utilisateur (UID), l'ID de processus (PID), l'ID du processus parent (PPID), la taille de la mémoire, le temps d'exécution, la commande et d'autres détails.
Autres options pratiques de ps
- Les options permettent la filtration par PID, noms de commandes, utilisateurs, et par l'utilisateur courant, ainsi que d'indiquer les colonnes à afficher, des colonnes possibles à utiliser, et afficher l'arborescence/trie les lignes.
Suivre en temps réel les processus
- La commande
top
fournit un affichage interactif des processus en temps réel, avec des informations sur l'utilisation du processeur. -
top
propose des commandes de filtrage et de tri. -
Top
propose des commandes telles que : -
q
(ou Ctrl + C) : quitter, -
h
: afficher l'aide, -
P
: trier par consommation CPU, -
M
: trier par consommation mémoire, -
N
: trier par PID, -
T
: trier par temps CPU total et : -
k
: terminer un processus.
Services et démons (daemon)
- Les daemons sont des applications qui fonctionnent en arrière-plan, attendant et répondant à des événements.
- Ils traitent des requêtes réseau, ne dépendent pas de terminaux, et sont lancés automatiquement.
- Ils sont isolés, avec des utilisateurs dédiés. généralement nommés avec un suffixe "d"
Exemples de services et daemons
-
init
ousystemd
: premier processus du système, -
crond
: planification des tâches, -
dhcpd
: configuration automatique des clients TCP/IP, -
httpd
: serveur HTTP, -
sshd
: gestion des connexions SSH, -
lpd
oucups
: gestion des impressions, -
gdm
: gestion de la connexion graphique (Gnome), -
mpd
: démon de musique, - et d'autres encore.
Exemple: serveur web
- Apache est un serveur web très utilisé (43% en octobre 2019).
- Nginx est une alternative populaire, 2e serveur web le plus utilisée (en croissance).
Installation
- L'installation des logiciels dépend de la distribution de Linux (Debian/Ubuntu, Mint, etc.).
-
apt
est un gestionnaire de paquets (extra)
Paquet (ou paquetage)
- L'installation de logiciels est souvent effectuée au moyen de paquets contenant des fichiers executables, de configuration, de documentation, ainsi que leurs dépendances et scripts d'installation/désinstallation.
Gestionnaire de paquets
- Les gestionnaires de paquets (comme
apt
,dnf
,pacman
) simplifient l'installation, la mise à jour et la désinstallation de logiciels. - D'autre gestionnaires sont spécifiques à des langages de programmation.
Installer à partir des sources
- Les logiciels peuvent être installés à partir de sources.
- Cette approche implique de compiler le logiciel avec des outils appropriés (outils de compilation, bibliothèques, etc.)
Démarrage et services
- Au démarrage, plusieurs services sont lancés par
init
(premier programme). - Divers types de gestionnaires de services existent, comme
init
(Système V) &Systemd
Gestion des services
- La gestion des services utilisant les commandes d'administration, telles que:
-
service
pour les services System V -
systemctl
pour Systemd - opérations telles que :
status
,start
,stop
,reload
,restart
Configuration
- Configuration globale et par service
- Les fichiers de configuration sont souvent des fichiers textes lisibles et modifiables.
- Les fichiers de configuration des services se trouvent généralement dans le répertoire
/etc/
- Pour les utilisateurs, la configuration est le plus souvent gérée au niveau de chacun d'eux (dans le répertoire du home, typiquement via les fichiers dans le répertoire
~/.config
).
Configuration du shell
- Les fichiers de configuration de shell sont en fait des scripts shell.
- Les lignes de ces scripts shell sont exécutées dans l'ordre.
- Les lignes vides sont ignorées.
- Les commentaires commencent par
#
. Exemple de fichier.bashrc
: fichiers contenant des aliases et des variables d'environnement. - Utilisation de commandes telles que :
alias
,export
.
Variables du shell et d'environnement
- Les variables d'environnement sont des variables utilisées par le shell et les commandes.
-
HOME
: répertoire d'accueil de l'utilisateur. -
PATH
: liste des chemins pour trouver les commandes. -
PS1
: invite de commande. -
PWD
: répertoire de travail courant
Configuration d'Apache
- Les fichiers de configuration d'Apache contiennent des instructions pour configurer le serveur web.
- fichiers
apache2.conf
,ports.conf
,sites-available/
,mods-available/
.
Configuration hôte par défaut
- Le fichier
000-default.conf
définit la configuration du site web par défaut. - Il faut redémarrer le serveur Apache pour que les modifications de configuration prennent effet. Utilisation des commandes :
-
service apache2 reload
-
sudo systemctl reload apache2.service
Plusieurs domaines
- Les serveurs Web modernes peuvent gérer plusieurs sites Web avec des noms de domaine différents via la fonctionnalité de VirtualHost.
- Chaque VirtualHost a sa propre configuration. Gestion d'une multitude de configuration de sites.
Proxys inverse
- Les proxys inversés agissent comme un intermédiaires entre les clients et les serveurs.
- Ils reçoivent les requêtes des utilisateurs et les transmettent aux serveurs appropriés.
- Ils reçoivent les réponses des serveurs et les renvoient aux utilisateurs.
- Ces proxys augmentent la sécurité, et le load balancing.
Contenu accessible
- Le contenu web est stocké dans le répertoire indiqué par la directive
DocumentRoot
. - Le répertoire par défaut est
/var/www/html
.
Navigateur (ou client web)
- Un navigateur est un logiciel qui facilite la navigation web.
- Il saisit les requêtes des utilisateurs, envoie les requêtes aux serveurs, et affiche les réponses. Exemples : Firefox, Chromium, Safari, IE, Console : lynx, elinks, w3m, Ligne de commande : wget, curl
Localisation des ressources
- URL (Uniform Resource Locator) décrit l'emplacement d'une ressource sur l'internet.
- Structure : schéma, autorité, chemin, requête, fragment. Exemples d'utilisation :
-
<schéma>://<hôte>:<port>/<chemin>?<requête>#<fragment>
Télécharger des ressources
- Les commandes
wget
(GNU) etcurl
permettent de télécharger des ressources depuis internet.
Wget ou cURL?
-
cURL
: plus portable, base sur la libcurl, et supporte plus de protocoles. -
wget
: souvent déjà installé, commande autonome, récursive.
Options de cURL
-
curl
dispose de nombreuses options pour les téléchargements et la spécification de l'action.
Cybersécurité
- Il faut limiter les services exposés, contrôler les données exposées, configurer correctement les services, utiliser des logiciels fiables et à jour, et surveiller les journaux. Utilisation d'instruments tels que OWASP.
Journaux (logs)
- Le journal des services ou des applications enregistrent les événements et problèmes pour les analyses. Les données enregistrées dans des fichiers textes simples avec une extension
.log
(Exemple :/var/log/auth.log
). -
tail
affiche les dernières lignes d'un journal,-f
fait un suivi en temps réel.
SSH = secure shell
- Un protocole pour une connexion sécurisée entre deux ordinateurs.
- Il utilise des clés pour l'authentification.
- Des commandes telles que :
ssh
,ssh-copy-id
,exit/logout
.
Transférer des fichiers
-
scp
permet de copier des fichiers entre deux ordinateurs via une connexion sécurisée. - Une commande tel que
scp -r
permet de copier des répertoires en récursivité, et de préserver les droits et dates des fichiers.
SSH avec les clés
- SSH peut être utilisé avec des clés publiques et privées pour l'authentification.
Multiplexeur de terminaux et sessions
- Les multiplexeurs de terminaux, tels que
screen
ettmux
, permettent de gérer plusieurs sessions distantes sur un seul terminal. Ils permettent de garder une session ouverte, même si le terminal est fermé.
Fin d'une session distante
- Lorsque la connexion SSH est terminée, les processus en cours sont tous terminés.
- Des commandes telles que :
screen
,tmux
,disown
,nohup
.
Manipulation de sessions
- Gestion de session avec les commandes de
tmux
, pour créer, lister, attacher, detacher, tuer les sessions.
Manipulation de l'interface
- Gestion de l'interface graphique de
tmux
. Exemples : séparation des panneaux, créer une nouvelle fenêtre, trouver et tuer une fenêtre.
Docker
- Docker est une technologie de conteneurisation pour créer et exécuter des conteneurs Linux.
- Les conteneurs partagent le noyau du système hôte.
- Ils contiennent les fichiers nécessaires à l'exécution.
Terminologie
- Image : archive de fichiers.
- Conteneur : instance d'une image.
- Registre : dépôt d'images Docker.
- Docker Hub : Registre public.
- Dockerfile : fichier texte pour la description d'une image.
Utilisation
- Commandes de base Docker telles que :
run
,start
,stop
,kill
,rm
.
Comment ça fonctionne
- Détail fonction Docker, incluant application, bibliothèques, packages, image de base.
- Comprendre les interactions entre un conteneur, l'image de base et l'ensemble de l'infrastructure.
Aller plus loin
- Technologies support Docker tel que
cgroup
,namespace
etUnionFS
. - L'utilisation d'outils d'orchestration comme
Kubernetes
. - Les alternatives tels que
LXC
ouSingularity
.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.