Mis à jour le 07/07/2023
4.2.6 – Travaux pratiques – Utiliser des fichiers texte dans l’interface de ligne de commande (CLI)
Remarque à l’intention de l’instructeur : la couleur de police rouge ou les surlignages gris indiquent que le texte n’apparaît que dans la copie de l’instructeur.
Objectifs
Au cours de ces travaux pratiques, vous allez découvrir les éditeurs de texte utilisant une ligne de commande Linux et les fichiers de configuration.
Partie 1: Éditeurs de texte graphique
Partie 2: Éditeurs de texte utilisant une ligne de commande
Partie 3: Utilisation des fichiers de configuration
Ressources requises
- Poste de travail CyberOps VM
Instructions
Partie 1 : Éditeurs de texte graphique
Pour pouvoir travailler avec des fichiers texte sous Linux, vous devez être familiariser avec les éditeurs de texte.
Les éditeurs de texte appartiennent à l’une des plus anciennes catégories d’applications créées pour les ordinateurs. Linux, comme beaucoup d’autres systèmes d’exploitation, dispose de nombreux éditeurs de texte différents avec diverses fonctionnalités et fonctions. Certains éditeurs de texte incluent des interfaces graphiques, tandis que d’autres sont uniquement utilisables via la ligne de commande. Chaque éditeur de texte comprend un ensemble de fonctionnalités conçues pour un scénario de travail spécifique. Certains éditeurs de texte sont destinés aux programmeurs et incluent des fonctionnalités telles que la coloration syntaxique, la correspondance des accolades, la recherche et le remplacement, les expressions régulières (regex) à plusieurs lignes, le correcteur orthographique et d’autres fonctionnalités axées sur la programmation.
Pour économiser de l’espace sur le poste de travail Cisco CyberOPS VM, celle-ci comprend uniquement SciTE comme application d’éditeur de texte graphique. SciTE est un petit éditeur de texte simple et rapide. Il n’a pas beaucoup de fonctionnalités avancées, mais il permet d’effectuer les tâches dans ce cours.
Remarque : le choix de l’éditeur de texte est personnel. Il n’y a pas un éditeur de texte meilleur que les autres. Le meilleur éditeur de texte est celui avec lequel vous êtes le plus à l’aise et qui vous donne le plus de satisfaction.
Étape 1: Ouvrez SciTE depuis l’interface graphique
a. Connectez-vous à la machine virtuelle CyberOps avec le nom d’utilisateur analyst et le mot de passe cyberops. Le compte analyst servira d’exemple de compte utilisateur pendant l’intégralité des travaux pratiques.
b. Sur la barre du haut, accédez à Applications > CyberOPS > SciTE pour lancer l’éditeur de texte SciTE.
c. SciTE est simple, mais il intègre quelques fonctionnalités importantes, notamment un environnement avec des onglets, ainsi que la coloration syntaxique et plus encore. Passez quelques minutes à vous familiariser avec SciTE. Dans la zone de travail principal, tapez ou copiez et collez le texte ci-dessous :
« L’espace est vaste. Vraiment vaste. Vous ne savez pas à quel point il est vaste. Ce que je veux dire c’est que si vous pensez que le chemin est long jusqu’à la pharmacie, ce n’est rien comparé à l’échelle galactique. »
― Douglas Adams, le Guide du voyageur galactique
d. Cliquez sur File > Save pour enregistrer le fichier. Notez que SciTE tente d’enregistrer le fichier dans le répertoire de base de l’utilisateur actuel, qui est « analyst », par défaut. Nommez le fichier espace.txt et cliquez sur Save.
e. Fermez SciTE en cliquant sur l’icône X dans le coin supérieur droit de la fenêtre, puis rouvrez SciTE.
f. Cliquez sur File > Open… et recherchez le fichier nouvellement enregistré, espace.txt.
Trouvez-vous immédiatement espace.txt ?
Non
g. Bien que SciTE cherche dans le bon répertoire (/home/analyst), espace.txt n’est pas affiché. Cela est dû au fait que SciTE recherche des extensions connues et .txt n’est pas l’une d’elles. Pour afficher tous les fichiers, cliquez sur le menu déroulant en bas de la fenêtre Open File et sélectionnez All Files (*).
h. Sélectionnez espace.txt pour l’ouvrir.
Remarque : bien que les systèmes de fichiers Linux n’utilisent pas les extensions, certaines applications telles que SciTE peuvent les utiliser pour identifier les types de fichiers.
i. Une fois que vous avez terminé, fermez espace.txt.
Étape 2: Ouvrez SciTE depuis le terminal.
a. Vous pouvez également ouvrir SciTE depuis la ligne de commande. Cliquez sur l’icône terminal située dans le dock en bas du bureau. L’émulateur de terminal s’ouvre.
b. Saisissez ls pour voir le contenu du répertoire actuel. Vous constatez que espace.txt est répertorié. Par conséquent, vous n’avez pas besoin de fournir des informations de chemin d’accès pour ouvrir le fichier.
c. Tapez scite espace.txt pour ouvrir SciTE. Cette commande ne lance pas seulement SciTE dans l’interface graphique, elle charge aussi automatiquement le fichier texte espace.txt précédemment créé.
[analyst@secOps ~]$ scite espace.txt
d. Notez que, bien que SciTE est ouvert au premier plan, la fenêtre du terminal utilisée pour le lancer est toujours ouverte en arrière-plan. En outre, notez que la fenêtre du terminal utilisée pour lancer SciTE n’affiche plus l’invite.
Pourquoi l’invite n’est-elle pas affichée dans le terminal?
Parce que le terminal exécute SciTE et ne peut donc pas recevoir de commandes.
e. Fermez cette instance de SciTE en cliquant sur l’icône X comme avant, ou en replaçant le curseur sur la fenêtre du terminal qui a lancé SciTE pour arrêter le processus. Vous pouvez arrêter le processus en appuyant sur CTRL+C.
Remarque : il est utile de démarrer SciTE à partir de la ligne de commande lorsque vous souhaitez exécuter SciTE en tant que root. Il suffit de faire précéder scite par la commande sudo, sudo scite.
f. Fermez SciTE et passez à l’étape suivante.
Partie 2 : Éditeurs de texte utilisant une ligne de commande
Bien que les éditeurs de texte graphique soient pratiques et faciles à utiliser, les éditeurs de texte utilisant une ligne de commande sont très importants dans les ordinateurs Linux. Le principal avantage des éditeurs de texte utilisant une ligne de commande est qu’ils permettent de modifier un fichier à partir d’un interpréteur de commandes sur un ordinateur distant.
Ces derniers suivent les scénarios suivants: Un utilisateur doit effectuer des tâches administratives sur un ordinateur Linux, mais il n’est pas assis en face de cet ordinateur. À l’aide de SSH, l’utilisateur démarre un interpréteur de commandes distant vers l’ordinateur susmentionné. Il peut arriver que l’interface graphique ne soit pas disponible sous l’interpréteur de commandes textuel distant. Il n’est alors pas possible d’utiliser un éditeur de texte graphique. Dans ce type de situation, les éditeurs de texte textuels sont indispensables.
Remarque: c’est en général le cas lors d’une connexion à des serveurs distants sans affichage, dépourvus d’interface graphique.
Le poste de travail Cisco CyberOps VM comprend quelques éditeurs de texte utilisant une ligne de commande. Le présent cours est axé sur l’éditeur de texte nano.
Remarque : il existe un autre éditeur de texte très populaire appelé vi. Même s’il est difficile d’apprendre à l’utiliser, vi est un éditeur de texte très puissant utilisant une ligne de commande. Son code a été créé en 1976 et il est inclus par défaut dans presque toutes les installations de Linux. Il existe une version actualisée de vi nommée vim pour vi-improved (soit vi amélioré). La plupart des utilisateurs actuels de vi utilisent la nouvelle version, vim.
Son interface graphique n’étant pas prise en charge, nano (ou GNU nano) ne peut être utilisé qu’avec le clavier. CTRL+O enregistre le fichier actuel ; CTRL+W ouvre le menu de recherche. GNU nano utilise une barre de raccourcis de deux lignes au bas de l’écran, où figurent un certain nombre de commandes pour le contexte actuel. Lorsque nano est ouvert, appuyez sur CTRL+G pour afficher l’écran d’aide et une liste complète.
a. Dans la fenêtre du terminal, tapez nano espace.txt pour ouvrir le fichier texte créé dans la partie 1.
[analyst@secOps ~]$ nano espace.txt
b. nano démarre et charge automatiquement le fichier texte espace.txt. Même si le texte semble tronqué ou incomplet, il ne l’est pas. Étant donné que le texte a été créé sans retour chariot et que le retour automatique à la ligne n’est pas activé par défaut, nano affiche une longue ligne de texte.
Utilisez les touches début et fin du clavier pour accéder rapidement au début et à la fin d’une ligne, respectivement.
Quel caractère nano utilise-t-il pour représenter une ligne qui se prolonge au-delà des limites de l’écran ?
Le signe supérieur à (>) ou le signe dollar ($), selon la version nano.
c. Comme cela est indiqué sur les lignes de raccourcis du bas, CTRL+X peut être utilisé pour quitter nano. nano vous demande si vous souhaitez enregistrer le fichier avant de quitter (Y pour Oui, ou N pour Non). Si vous choisissez « Y », il vous sera demandé d’appuyer sur Entrée pour accepter le nom de fichier donné, pour changer le nom du fichier ou pour préciser un nom de fichier, s’il s’agit d’un nouveau document sans nom.
d. Pour contrôler nano, vous pouvez utiliser CTRL, ALT, ÉCHAP ou les touches Méta. La touche Méta est la touche du clavier comportant le logo Windows ou Mac, selon votre configuration de clavier.
La navigation dans nano est très conviviale. Utilisez les flèches pour vous déplacer dans les fichiers. Les touches Haut et Bas permettent également de sauter des pages en avant ou en arrière. Prenez le temps nécessaire pour vous familiariser avec nano et son écran d’aide. Pour entrer dans l’écran d’aide, appuyez sur CTRL+G. Appuyez sur q pour quitter l’écran d’aide et revenir à l’édition du document en nano.
Partie 3 : Utiliser des fichiers de configuration
Sous Linux, tout est traité comme un fichier, notamment la mémoire, les disques, l’écran, les fichiers et les répertoires. Du point de vue du système d’exploitation, tout est un fichier. Il n’est pas surprenant que le système lui-même soit configuré par le biais de fichiers. Appelés fichiers de configuration, il s’agit en général de fichiers texte dans lesquels les réglages et les paramètres des services et des applications sont stockés.
Presque tous les éléments de Linux ont recours aux fichiers de configuration pour fonctionner. Certains -services peuvent avoir plusieurs fichiers de configuration.
Les utilisateurs avec les niveaux d’autorisation appropriés peuvent modifier le contenu des fichiers de configuration avec des éditeurs de texte. Une fois que les modifications ont été apportées, le fichier est enregistré et peut être utilisé par le service ou l’application correspondant. Les utilisateurs sont en mesure de spécifier exactement comment ils veulent qu’une application ou un service donné se comporte. Lors de leur lancement, les services et les applications vérifient le contenu de leur fichier de configuration et adaptent leur comportement en conséquence.
Étape 1: Rechercher les fichiers de configuration
L’auteur du programme définit l’emplacement de la configuration pour un programme donné (un service ou une application). Pour cette raison, la documentation doit être consultée lors de l’évaluation de l’emplacement du fichier de configuration. Cependant, dans Linux, les fichiers de configuration qui sont utilisés pour configurer les applications sont souvent placés dans le répertoire de base de l’utilisateur tandis que les fichiers de configuration utilisés pour contrôler les services à l’échelle du système sont placés dans le répertoire /etc. Les utilisateurs sont toujours autorisés à écrire dans leurs propres répertoires de base et peuvent configurer le comportement des applications qu’ils utilisent.
a. Utilisez la commande ls pour répertorier tous les fichiers dans le répertoire de base de l’utilisateur analyst :
[analyst@secOps ~]$ ls –l total 20 drwxr-xr-x 2 analyst analyst 4096 Mar 22 2018 Desktop drwxr-xr-x 3 analyste 4096 avr. 2 14:44 Téléchargements drwxr-xr-x 9 analyst analyst 4096 Jul 19 2018 lab.support.files drwxr-xr-x 2 analyst analyst 4096 Mar 21 2018 second_drive -rw-r--r-- 1 analyst analyst 255 Apr 17 16:42 space.txt
Bien que quelques fichiers soient affichés, ils ne semblent pas correspondre à des fichiers de configuration. En effet, les fichiers de configuration hébergés dans le répertoire de base sont en général masqués et leur nom est précédé d’un caractère « . » (point).
b. Utilisez de nouveau la commande ls, mais cette fois-ci ajoutez l’option –a pour inclure également les fichiers cachés dans la sortie :
[analyst@secOps ~]$ ls –la total 144 drwx------ 14 analyst analyst 4096 Apr 17 16:34 . drwxr-xr-x 3 root root 4096 Mar 20 2018 .. -rw------- 1 analyst analyst 424 Apr 17 12:52 .bash_history -rw-r--r-- 1 analyst analyst 21 Feb 7 2018 .bash_logout -rw-r--r-- 1 analyst analyst 57 Feb 7 2018 .bash_profile -rw-r--r-- 1 analyst analyst 97 Mar 20 2018 .bashrc -rw-r--r-- 1 analyst analyst 141 Feb 7 2018 .bashrc_stock drwxr-xr-x 8 analyst analyst 4096 Mar 25 12:18 .cache drwxr-xr-x 10 analyst analyst 4096 Jul 19 2018 .config drwxr-xr-x 2 analyst analyst 4096 Mar 22 2018 Desktop -rw-r--r-- 1 analyst analyst 23 Mar 23 2018 .dmrc drwxr-xr-x 3 analyst analyst 4096 Apr 2 14:44 Downloads drwx------ 3 analyst analyst 4096 Mar 22 2018 .gnupg -rw------- 1 analyst analyst 2520 Mar 24 12:32 .ICEauthority drwxr-xr-x 2 analyst analyst 4096 Mar 24 2018 .idlerc drwxr-xr-x 9 analyst analyst 4096 Jul 19 2018 lab.support.files -rw------- 1 analyst analyst 61 Mar 24 12:36 .lesshst drwxr-xr-x 3 analyst analyst 4096 Mar 22 2018 .local drwx------ 5 analyst analyst 4096 Mar 24 2018 .mozilla drwxr-xr-x 2 analyst analyst 4096 Mar 21 2018 second_drive -rw-r--r-- 1 analyst analyst 255 Apr 17 16:42 space.txt <Some output omitted>
c. Utilisez la commande cat pour afficher le contenu du fichier .bashrc. Ce fichier sert à configurer la personnalisation et le comportement du terminal selon les besoins de l’utilisateur.
[analyst@secOps ~]$ cat .bashrc export EDITOR=vim PS1='\[\e[1;32m\][\u@\h \W]\$\[\e[0m\] ' alias ls="ls --color" alias vi="vim"
Ne vous préoccupez de la syntaxe de .bashrc pour le moment. Notez cependant que .bashrc contient la configuration du terminal. Par exemple, la ligne PS1=’\[\e[1;32m\][\u@\h \W]\$\[\e[0m\] ‘ définit la structure de l’invite affichée par le terminal : [username@hostname current_dir] suivi d’un signe dollar, tout en vert. D’autres configurations sont des raccourcis vers des commandes telles que ls et vi. Dans ce cas, chaque fois que l’utilisateur tape ls, l’interpréteur de commandes interprète automatiquement cette commande comme ls –color pour afficher une sortie codée avec des couleurs pour ls (répertoires de fichiers en bleu, fichiers standard en gris, fichiers exécutables en vert, etc.)
La syntaxe spécifique n’est pas abordée dans ce cours. Retenez cependant que les configurations sont généralement stockées sous forme de fichiers cachés dans le répertoire de base des utilisateurs.
d. Tandis que les fichiers de configuration des applications sont placés en général sous le répertoire de base de l’utilisateur, les fichiers de configuration relatifs aux services du système sont, en général, placés dans le répertoire /etc. Les services web, les services d’impression, les services ftp et les services de messagerie électronique sont des exemples de services qui concernent l’ensemble du système et leurs fichiers de configuration sont stockés dans /etc. Notez que les utilisateurs standard ne disposent pas de l’accès en écriture à /etc. Ainsi, seul l’utilisateur root est autorisé à changer la configuration des services à l’échelle du système.
Utilisez la commande ls pour afficher le contenu du répertoire /etc :
[analyst@secOps ~]$ ls /etc adjtime host.conf mke2fs.conf rc_maps.cfg apache-ant hostname mkinitcpio.conf request-key.conf apparmor.d hosts mkinitcpio.d request-key.d arch-release ifplugd modprobe.d resolv.conf avahi initcpio modules-load.d resolvconf.conf bash.bash_logout inputrc motd rpc bash.bashrc iproute2 mtab rsyslog.conf binfmt.d iptables nanorc securetty ca-certificates issue netconfig security crypttab java-7-openjdk netctl services dbus-1 java-8-openjdk netsniff-ng shadow default kernel nginx shadow- depmod.d krb5.conf nscd.conf shells dhcpcd.conf ld.so.cache nsswitch.conf skel dhcpcd.duid ld.so.conf ntp.conf ssh dkms ld.so.conf.d openldap ssl drirc libnl openvswitch sudoers elasticsearch libpaper.d os-release sudoers.d environment lightdm pacman.conf sudoers.pacnew ethertypes locale.conf pacman.conf.pacnew sysctl.d filebeat locale.gen pacman.d systemd fonts locale.gen.pacnew pam.d tmpfiles.d fstab localtime pango trusted-key.key gai.conf login.defs papersize udev gemrc logrotate.conf passwd UPower group logrotate.d passwd- vdpau_wrapper.cfg group- logstash pcmcia vimrc group.pacnew lvm pkcs11 webapps grub.d machine-id polkit-1 wgetrc gshadow mail.rc profile X11 gshadow- makepkg.conf profile.d xdg gshadow.pacnew man_db.conf protocols xinetd.d gtk-2.0 mdadm.conf pulse yaourtrc gtk-3.0 mime.types rc_keymaps
e. Utilisez la commande cat pour afficher le contenu du fichier bash.bashrc :
[analyst@secOps ~]$ cat /etc/bash.bashrc # # /etc/bash.bashrc # # Si exécution non interactive, ne rien faire [[ $- != *i* ]] && return [[$DISPLAY]] && shopt -s checkwinsize PS1='[\u@\h \W]\$ ' case ${TERM} in xterm*|rxvt*|Eterm|aterm|kterm|gnome*) PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"' ;; screen) PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033_%s@%s:%s\033\\" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"' ;; esac [ -r /usr/share/bash-completion/bash_completion ] && . /usr/share/bashcompletion/bash_completion [analyst@secOps ~]$
La syntaxe de bash.bashrc n’est pas abordée dans ce cours Ce fichier définit le comportement par défaut de l’interpréteur de commandes pour tous les utilisateurs. Si un utilisateur souhaite personnaliser le comportement de son propre interpréteur de commandes, le comportement par défaut peut être remplacé en modifiant le fichier .bashrc situé dans le répertoire de base de l’utilisateur. Comme il s’agit d’une configuration à l’échelle du système, le fichier de configuration est placé sous /etc et il ne peut être modifié que par l’utilisateur root. Par conséquent, l’utilisateur devra se connecter en tant que root pour modifier bash.bashrc.
Pourquoi les fichiers de configuration des applications des utilisateurs sont-ils enregistrés dans le répertoire de base des utilisateurs et pas dans le répertoire /etc avec tous les autres fichiers de configuration pour l’ensemble du système ?
Les utilisateurs réguliers n’ont pas la permission d’écrire dans /etc. Étant donné que Linux est un système d’exploitation multi-utilisateurs, placer les fichiers de configuration des applications utilisateur sous /etc empêcherait les utilisateurs de personnaliser leurs applications.
Étape 2: Modifier et enregistrer les fichiers de configuration
Comme nous l’avons vu précédemment, les fichiers de configuration sont modifiables avec des éditeurs de texte.
Nous allons modifier le fichier .bashrc pour changer la couleur de l’invite de l’interpréteur de commandes du vert au rouge pour l’utilisateur analyst.
a. Tout d’abord, ouvrez SciTE en sélectionnant Applications > CyberOPS > SciTE dans la barre d’outils située dans la partie supérieure de l’écran de la machine virtuelle Cisco CyberOPS.
b. Sélectionnez File> Open pour lancer la fenêtre Open File de SciTE.
c. Étant donné que .bashrc est un fichier caché sans extension, SciTE ne l’affiche pas dans la liste de fichiers. Si la fonctionnalité de localisation n’est pas visible dans la boîte de dialogue, sélectionnez All Files (*) dans le champ Type pour modifier le type de fichier, comme illustré ci-dessous. Tous les fichiers du répertoire personnel de l’utilisateur analyst s’affichent.
d. Sélectionnez .bashrc et cliquez sur Ouvrir.
e. Localisez le nombre 32 et remplacez-le par 31. 32 est le code de couleur pour le vert, tandis que 31 représente le rouge.
f. Enregistrez le fichier en sélectionnant File > Save et fermez SciTE en cliquant sur l’icône X.
g. Cliquez sur l’icône de l’application du terminal située sur le dock, en bas au centre de l’écran de la machine virtuelle Cisco CyberOPS. L’invite doit apparaître en rouge et non plus en vert.
La fenêtre du terminal qui était déjà ouverte a-t-elle aussi changé la couleur du vert au rouge ? Expliquez votre réponse.
Non. Le fichier .bashrc est exécuté et appliqué lors de la première ouverture d’un terminal, de sorte que les terminaux précédemment ouverts ne seront pas affectés par les modifications apportées au fichier .bashrc.
h. Le même changement aurait pu être effectué à partir de la ligne de commande avec un éditeur de texte tel que nano. À partir d’une nouvelle fenêtre de terminal, tapez nano .bashrc pour lancer nano et charger automatiquement dans celui-ci le fichier .bashrc :
[analyst@secOps ~]$ nano .bashrc GNU nano 4.9.2 File: .bashrc export EDITOR=vim PS1='\[\e[1;31m\][\u@\h \W]\$\[\e[0m\] ' alias ls="ls --color" alias vi="vim" [ Read 5 lines ] ^G Get Help ^O Write Out ^W Where Is ^K Cut Text ^J Justify ^C Cur Pos ^X Exit ^R Read File ^\ Replace ^U Uncut Text^T To Spell ^_ Go To Line
i. Remplacez 31 par 33. 33 est le code de la couleur jaune.
j. Appuyez sur CTRL+X pour enregistrer, puis appuyez sur Y pour confirmer. L’éditeur de texte nano vous
permet également de changer le nom du fichier. Appuyez simplement sur ENTRÉE pour utiliser le même
nom, .bashrc.
k. L’éditeur de texte nano s’arrête et vous revenez à l’invite de l’interpréteur de commandes. Cette fois, rechargez le terminal bash en entrant la commande bash dans le terminal. L’invite doit maintenant apparaître en jaune et non plus en rouge.
Étape 3: Modifier les fichiers de configuration des services
Les fichiers de configuration pour l’ensemble du système ne sont pas très différents des fichiers des applications des utilisateurs. nginx est un serveur web léger qui est installé sur la machine virtuelle Cisco CyberOPS. nginx est personnalisable, il suffit pour cela de modifier son fichier de configuration qui se trouve sur /etc/nginx.
a. Tout d’abord, ouvrez le fichier de configuration de nginx dans un éditeur nano. Le nom du fichier de configuration utilisé ici est custom_server.conf. Notez ci-dessous que la commande est précédée de la commande sudo. Après avoir tapé nano, ajoutez un espace et le commutateur -l pour activer la numérotation des lignes.
[analyst@secOps ~]$ sudo nano -l /etc/nginx/custom_server.conf [sudo] password for analyst:
Utilisez les touches fléchées pour naviguer dans le fichier.
GNU nano 4.9.2 /etc/nginx/custom_server.conf 1 2 #user html; 3 worker_processes 1; 4 5 #error_log logs/error.log; 6 #error_log logs/error.log notice; 7 #error_log logs/error.log info; 8 9 #pid logs/nginx.pid; 10 11 12 events { 13 worker_connections 1024; 14 } 15 16 17 http { 18 include mime.types; 19 default_type application/octet-stream; 20 21 #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' 22 # '$status $body_bytes_sent "$http_referer" ' 23 # '"$http_user_agent" "$http_x_forwarded_for"'; 24 25 #access_log logs/access.log main; 26 27 sendfile on; 28 #tcp_nopush on; 29 30 #keepalive_timeout 0; 31 keepalive_timeout 65; 32 33 #gzip on; 34 35 types_hash_max_size 4096; 36 server_names_hash_bucket_size 128; 37 38 server { 39 listen 81; 40 server_name localhost; 41 42 #charset koi8-r; 43 44 #access_log logs/host.access.log main; 45 46 location / { 47 root /usr/share/nginx/html; 48 index index.html index.htm; 49 } <Some output omitted>
Remarque
: en général, les extensions .conf sont utilisées pour identifier les fichiers de configuration.
b. Bien que le fichier de configuration ait de nombreux paramètres, nous n’allons en configurer que deux : le port nginx qui écoute les connexions entrantes et le répertoire à partir duquel il dessert les pages web, y compris le fichier de page index.html.
c. Si vous regardez au bas de la fenêtre et au-dessus des commandes nano, vous remarquez que le numéro de la ligne est mis en évidence et indiqué. À la ligne 39, changez le numéro du port en remplaçant 81 par 8080. Ceci indiquera à nginx d’écouter les requêtes HTTP sur le port TCP 8080.
d. Passez ensuite à la ligne 47 et changez le chemin en remplaçant /usr/share/nginx/html/ par /usr/share/nginx/html/text_ed_lab/.
Remarque : veillez à ne pas supprimer le point-virgule à la fin de la ligne, car dans ce cas nginx indiquera une erreur au démarrage.
e. Appuyez sur CTRL+X pour enregistrer le fichier. Appuyez sur , puis sur ENTRÉE pour confirmer et utiliser custom_server.conf comme nom de fichier.
f. Tapez la commande suivante pour exécuter nginx en utilisant le fichier de configuration modifié :
[analyst@secOps ~]$ sudo nginx -c custom_server.conf
g. Cliquez sur l’icône du navigateur web dans le dock pour lancer Firefox.
h. Sur la barre d’adresse, tapez 127.0.0.1:8080 pour vous connecter à un serveur web hébergé sur l’ordinateur local via le port 8080. Une page associée à ces travaux pratiques doit apparaître.
i. Après avoir ouvert la page d’accueil de nginx, regardez le message de connexion dans la fenêtre du terminal.
À quoi fait référence le message d’erreur ?
Le message d’erreur a été généré par la connexion réussie à la page Web et semble être causé par un fichier favicon.ico manquant dans le répertoire lab.support.files.
j. Pour arrêter le serveur web nginx, appuyez sur ENTRÉE pour obtenir une invite de commande et tapez la commande suivante dans la fenêtre du terminal :
[analyst@secOps ~]$ sudo pkill nginx
k. Pour vérifier que le serveur nginx s’est arrêté, effacez l’historique récent dans le navigateur web, fermez et rouvrez le navigateur web, puis accédez à la page d’accueil de nginx à l’adresse 127.0.0.1:8080.
Question :La page web s’affiche-t-elle ?
Non
Question de défi: Pouvez-vous modifier le fichier /etc/nginx/custom_configuration.conf avec SciTE? Décrivez le processus ci-dessous.
Rappel : le fichier étant stocké dans /etc, vous avez besoin des autorisations d’utilisateur root pour le modifier.
Depuis une fenêtre de terminal, lancez sudo scite /etc/nginx/custom_configuration.conf pour lancer scite en tant que root.
Remarques générales
Selon le service, il est possible qu’un plus grand nombre d’options soient disponibles pour la configuration.
L’emplacement du fichier de configuration, la syntaxe et les paramètres disponibles varient d’un service à l’autre. Veillez à toujours consulter la documentation pour plus d’informations.
De nombreux problèmes sont dus aux autorisations. Assurez-vous de disposer des autorisations appropriées avant d’essayer de modifier les fichiers de configuration.
En général, les services doivent être redémarrés pour que les modifications prennent effet.