17/11/2024

CLI

Commandes et SystèmeServices

Se protéger des extinctions accidentelles sous Linux

I. Présentation Sous Linux, une simple commande peut avoir des effets dévastateurs sur les serveurs, surtout quand ceux-ci sont en production. Avec un petit utilitaire qui se nomme molly-guard, nous allons pouvoir nous couvrir contre certaines d’entre elles lorsque nous sommes connecté en SSH sur un serveur. Molly-guard va en effet demander une confirmation à l’utilisateur lorsque celui-ci souhaitera exécuter les commandes suivantes : shutdown halt reboot poweroff II. Procédure Nous pouvons facilement installer molly-guard sous Linux avec la commande suivante : apt-get update && apt-get install molly-guard La confirmation que demande molly-guard est le nom du serveur, voila à quoi ressemble cette demande : Il faut ensuite saisir le nom de l’hôte sur lequel nous sommes connecté en SSH pour que la commande passe correctement.

Lire cet article
Commandes et Système

Calculer l’empreinte MD5 d’un dossier sous Linux

I. Présentation Dans un précédent tutoriel, nous avions vu comment calculer l’empreinte MD5 d’un simple fichier sous Linux. Seulement quand nous voulons calculer l’empreinte d’un dossier entier, nous obtenons un message d’erreur nous indiquant que la cible est un dossier et que md5 ne peut donc pas calculer son empreinte : Il est néanmoins possible de calculer la somme md5 d’un dossier, ou plus précisément de tous les fichiers d’un même dossier. On va pour cela calculer la somme MD5 de tous les fichiers de ce dossier puis calculer la somme MD5 de ces sommes MD5. Le but ici est de déterminer si un des fichiers positionnés dans le dossier cible a subit une modification. On utilisera pour cela la commande suivante (par exemple pour le dossier « /etc ») : find /etc/ -type f -exec md5sum {} \; > /tmp.md5 && md5sum /tmp/md5 && rm /tmp/md5 Nous allons détailler un peu plus cette commande qui se découpe en trois parties séparées

Lire cet article
Commandes et Système

Avoir un shell en couleur sous Root

I. Présentation Par défaut sous Debian, les shells des utilisateurs ont une syntaxe colorée. L’utilisateur « root » n’ayant pas pour vocation d’être beaucoup utilisé, il n’est lui pas coloré et offre donc un shell en noir et blanc. Dans ce tutoriel, nous allons voir comment avoir un shell coloré en étant en root. II. Procédure La définition de la coloration du shell sous Linux se fait à l’initialisation du shell de l’utilisateur. Nous allons donc modifier le fichier « /root/.bashrc » pour que celui-ci permette un affichage coloré au démarrage du shell de l’utilisateur « root » : vim /root/.bashrc Puis on dé-commentera les lignes suivantes qui sont normalement déjà présentes, ajoutez les si ce n’est pas le cas : On pourra alors recharger notre shell avec la commande suivante : . ~/.bashrc Nous verrons alors que notre shell renvoi des couleurs quand nous faisons un « ls » par exemple :

Lire cet article
Batch

Changer le titre de la fenêtre DOS en cours

I. Présentation Le titre par défaut d’une fenêtre DOS n’est pas très original pour ne pas dire banal. En effet, elle est nommée « C:\Windows\system32\cmd.exe ». Nous allons qu’il est possible très simplement de changer le titre de la fenêtre DOS en cours, de quoi donner un nom plus sympa à votre fenêtre de scripts. II. Procédure Après avoir ouvert une Invite de commandes, saisissez la commande suivante : title Neoflow.fr Vous n’avez qu’à ajouter votre titre après la commande « title » et le tour est joué ! Regardez :

Lire cet article
Base de données

Créer, modifier ou supprimer un utilisateur avec la console SQL

I. Présentation Par défaut, on se connecte à une base de données avec l’utilisateur « Root » qui dispose de tous les privilèges, ce qui peut être un trou de sécurité important si vous vous faites pirater votre serveur. Fort heureusement, il est possible de créer plusieurs utilisateurs à partir de l’interface PhpMyAdmin, mais pas seulement. En effet, grâce à la console MySQL il est possible de gérer les utilisateurs c’est-à-dire d’en créer, de les modifier et de les supprimer, de manière simple et efficace. C’est ce que nous allons voir dans ce tutoriel. II. Informations sur le serveur et les utilisateurs Serveur : localhost Serveur web : WAMP Utilisateur : root Utilisateur à créer : neoflow, flo, test et admin III. Exécutez la console Avec une Invite de commandes, se positionner dans le répertoire contenant « mysql.exe » : cd « c:\wamp\bin\mysql\mysql5.1.36\bin »  Exécutez “mysql.exe” en utilisant des paramètres d’authentification SANS mot de passe : mysql.exe –u root  Exécutez “mysql.exe” en

Lire cet article
Commandes et Système

Voir les entrées/ sorties disque avec iotop sous Linux

I. Présentation Dans ce tutoriel, nous allons voir comment analyser les entrées et sorties disque sur un système Linux. La commande « iotop » (Input/ Output) non native à Linux nous permet en effet de vérifier les écritures (entrées) et lectures (sorties) sur notre disque. II. Installation de la commande Il nous faut déjà commencer par installer la commande qui n’est pas présente par défaut dans la plupart des cas : apt-get update apt-get install iotop III. Utilisation Ensuite nous pourrons simplement l’utiliser en saisissant « iotop » et voir ce que cela nous affiche : On voit donc la liste de nos processus avec plusieurs informations sur leur utilisation du disque. On voit également un total de l’utilisation tout en haut du tableau. Actuellement, aucun processus n’utilise le disque en lecture ou en écriture. On pourrais simuler une lecture du disque en exécutant la commande « tree » depuis la racine « / » qui va donc lister tous les répertoires du disques. On commence pour cela

Lire cet article
Commandes et Système

Afficher la version d’un paquet présent dans les dépôts

I. Présentation Dans ce tutoriel, nous allons voir comment il est possible d’afficher la version d’un paquet présent dans les dépôts (les dépôts sont les endroits depuis lesquels nous téléchargeons les paquets pour les installer avec la commande « apt-get » sous Debian par exemple). II. Procédure On utilise pour cela la commande « apt-cache » native aux distributions Debian. Par exemple pour le paquet « apache2 » : apt-cache policy apache2 Nous aurons alors cette sortie : On voit ici que le paquet « apache2 » présent dans les dépôts est la version 2.2.16 du paquet. On voit également quelles sont les lignes prioritaires dans le fichier « sources.list » qui contient la liste des dépôts à utiliser. On remarque également un ligne « Installé : (aucun) » qui indique que le paquet n’est pas présent sur le système. Si le paquet été installé, nous aurions alors sa version également comme suivant :  

Lire cet article
Commandes et Système

Vider l’espace d’échange (SWAP)

I. Présentation Certaines applications peuvent être très gourmandes en ressource mémoire, Linux se met alors à utiliser son espace d’échange (SWAP) mais il arrive que celle-ci ne se vide pas correctement et paraisse être toujours utilisée causant ainsi des problèmes de performances liées aux accès au disques dur. L’espace d’échange SWAP sous Linux peut être activé/ désactivé et c’est la plupart du temps comme cela que l’on peut vider l’espace SWAP sans avoir à redémarrer le système. Pour information, on peut vérifier facilement l’espace d’échange SWAP utilisé sur le système avec la commande suivante : swapon -s La colonne « Used » nous renseignera sur l’utilisation actuelle de la mémoire SWAP disponible. Si ce taux reste trop élevé trop longtemps, on peut observer des ralentissements sur l’accès au disque dur sur lequel la partition ou le fichier SWAP est présent. II. Vider la SWAP Pour redémarrer et remettre à zéro la SWAP, nous utilisons la commande suivante : swapoff -a && swapon

Lire cet article
Base de données

Les alias en SQL

I. Présentation Les alias en SQL permettent de renommer une colonne c’est-à-dire le nom d’un champ indiqué dans le SELECT ou le nom d’une table indiquée dans le FROM. L’intérêt est de rendre plus lisible certaines requêtes et également d’améliorer l’exploitation du résultat en PHP. II. Syntaxe de l’alias pour un champ SELECT champ1 AS nom_alias FROM table1 ; Vous pouvez trouver les alias inutiles lorsque la requête est simple mais lorsque la requête devient conséquente et qu’elle contient de nombreux champs et tables, les alias deviennent incontournables pour s’y retrouver facilement. III. Syntaxe de l’alias pour une table SELECT champ1 FROM table1 AS nom_alias ; Le principe est le même pour faire un alias sur un champ ou sur une table, il suffit d’ajouter « AS » à la suite du nom du champ ou du nom de la table que l’on souhaite renommer. IV. L’impact d’un alias sur un champ Lorsque vous effectué un alias sur le nom

Lire cet article
BashCommandes et Système

Marquer un temps d’arrêt en bash avec SLEEP

I. Présentation Dans ce tutoriel, nous allons apprendre à marquer un temps d’arrêt dans un script bash. Ce peut être une pratique utile dans beaucoup de cas différents. On peut par exemple lancer une commande de lancement d’une machine virtuelle puis vouloir faire une vérification afin de voir si celle-ci est bien démarré. On voudra alors marquer une temps d’arrêt entre le lancement et la vérification pour attendre que la VM ai bien démarré. Ce cas est un exemple parmis beaucoup d’autres. II. La commande « sleep » Nous allons pour le tutoriel utiliser « sleep » de manière très simple comme suivant dans un script bash appelé « script.bash » : #!/bin/bash date echo « étape 1 : » ; sleep 10 date echo « étape 2 :  » ; Nous rendons ensuite exécutable notre script : chmod +x script.sh Puis nous l’exécutons : ./script.sh Voila la sortie que nous en aurons : On voit donc bien que le « 10 » correspond à une attente de 10 secondes. Essayons

Lire cet article
Batch

Détecter un périphérique en fonction d’un fichier

I. Présentation Si vous souhaitez exécuter un script qui effectuera une action entre la machine et une clé USB par exemple, il faudra vérifier le script avant chaque exécution pour voir si la lettre indiquée dans le script correspond à la lettre du lecteur de votre clé USB. Du coup, c’est un peu ennuyeux de devoir faire cela à chaque fois que vous changez de machine. Pire encore, imaginez que ce script sera utilisé par des personnes qui ne connaissent pas grand chose en informatique et qui ne sont pas capables de vérifier la cohérence du script, vous faites comment ? Nous allons voir dans ce tutoriel une solution qui consiste à accéder aux différentes lettres de lecteur disponible jusqu’à trouver un fichier précis, qui devra être indiqué dans le script. Dès que ce fichier sera trouvé sur le périphérique, le script se dira « J’ai trouvé le lecteur sur lequel je dois effectuer l’opération, je peux donc commencer ». Ce script

Lire cet article
Commandes et Système

Calculer une empreinte SHA1 sous Linux

I. Présentation Dans ce tutoriel, nous allons apprendre à utiliser la commande sha1sum pour calculer l’empreinte d’une données. Le SHA1 est réputé pour être « plus fiable » que le md5, cela est surtout du au faite que les empreintes qu’il génère sont sur 40 caractères (20 octects) plutôt que 32 caractères pour le md5. Il existe également une multitude de rainbow table md5 qui sont des bases de données contenant le hash md5 et leur correspondance claires sur des sites en ligne. Pour information, une empreinte sert à calculer l’intégrité d’une donnée. Un même fichier avec un seul bit de différence donnera une empreinte totalement différente. II. Utilisation de la commande Si nous voulons par exemple calculer l’empreinte du fichier « file1 », nous utiliserons la commande comme suivant : sha1sum file1 Nous aurons alors en résultat l’empreinte de ce fichier : On peut aussi vouloir mettre cette empreinte dans un fichier pour que les utilisateurs puissent la comparer à nouveau  : sha1sum

Lire cet article
Commandes et Système

Compresser et décompresser en tar.gz sous Linux

I. Présentation Dans ce tutoriel, nous allons apprendre à compresser et décompresser des données au forma « .tar.gz » sous Linux. II. Compresser Pour compresser un fichier ou un répertoire au format « .tar.gz » il faut utiliser la commande POSIX « tar » comme suivant : tar czvf < nom_archive >.tar.gz < nom_rep > Note : « <nom_rep> » est ici le nom et le chemin de la donnée à compresser (répertoire ou simple fichier). « c » : créer une nouvelle archive « z » : permet d’activer la compression « gzip » pour un taux de compression plus important « v » : mode verbeux, permet d’afficher dans le détail les fichiers compressés « f » : indication de la donnée à compresser III. Décompresser Pour décompresser une archive qui est au format « .tar.gz » il faut à nouveau utiliser la commande POSIX « tar » comme suivant : tar xzvf < nom_archive >.tar.gz Ici l’archive se décompressera dans le répertoire où l’on se situe. « x » : extraire une archive « z » : permet de décompresser le « gzip » « v »

Lire cet article
Commandes et Système

Créer un lien symbolique sous Linux

I. Présentation Dans ce tutoriel, nous allons apprendre à faire des liens symboliques entre des répertoires et des fichiers. Un lien symbolique se rapproche d’une copie directe ou d’un raccourci. Un répertoire ou un fichier est l’exacte copie (en temps réelle) d’un autre. Souvent les liens symboliques sont utilisés pour simplifier les arborescences (nom de répertoire ou de fichier trop complexe ou mal placés). II. Lien symbolique entre répertoire D’une manière générale, voici comment utiliser la commande « ln » pour créer un lien symbolique : ln -s dossier_cible nom_du_lien Dans le contexte de mon exemple, je souhaite qu’en allant sur le répertoire /opt/jdk, j’atterrisse en réalité sur /opt/jdk1_7.2. Cela permet de facilement gérer le changement de version de JAVA. Mais ce n’est qu’un exemple 🙂 Nous allons commencer par créer lien symbolique entre deux répertoires. Nous utiliserons pour cela la commande « ln » (links) : ln –s /root/jdk1_7.2 /root/jdk Le lien symbolique « /root/jdk » sera alors créé. Note : Il faut

Lire cet article