19/09/2024

Commandes et Système

Commandes et Système

Changer la couleur du terminal

I. Présentation Dans ce tutoriel, nous allons voir comment changer les couleurs d’un terminal, en particulier celui de root qui, par défaut, est en noir et blanc. Dans ce précédent tutoriel, nous avons vu comment modifier l’apparence d’un terminal en y ajoutant, par exemple, la date et l’heure. II. Procédure Il nous faut déjà connaitre la façon de mettre en couleur les caractères d’un terminal. On va pour cela utiliser le table contenant les différentes valeurs des couleurs dans un terminal UNIX pour mettre en couleur notre shell. Nous allons ensuite modifier la valeur de la variable d’environnement « PS1 » qui contient la forme de notre terminal. On va donc, pour mettre notre terminal en rouge par exemple, définir la variable d’environnement « PS1 » comme suivant : PS1=’\[\033[01;31m\]\u@\h:\w\[\033[00m\]\$’ Les valeurs « \[\033[01;31m\] » et « \[\033[00m\] » servent respectivement à mettre la suite des caractères en rouge, puis en blanc. Ils ne délimitent pas une zone mais marque le début d’un changement de couleur. On met

Lire cet article
Commandes et Système

Afficher la date et l’heure dans le terminal

I. Présentation Par défaut, le « prompt » ou terminal affiche le nom de l’utilisateur avec lequel nous sommes connecté, le nom de la machine ainsi que le chemin où l’on se trouve. Comme suivant : On voit donc bien ici que le prompt est « <nom d’utilisateur>@<nom machine>:<chemin> ». Note : Quand l’utilisateur se situe dans son home, le chemin est remplacé par un tild (« ~ »). Dans ce tutoriel, nous allons voir comment changer l’apparence du prompt pour qu’il affiche l’heure, la date ou d’autres caractères. II. Procédure Il faut d’abord comprendre que la forme d’affichage du prompt est propre à chaque utilisateur et qu’elle est définie dans la variable d’environnement « PS1 » initialisée au démarrage d’une session. On peut vérifier la valeur de la variable d’environnement « PS1 » avec la commande suivante : echo $PS1  Nous aurons alors le résultat suivant : On peut donc comprendre que : « \u » = utilisateur « @ » : le sigle arobase « \h » = le nom de la machine « \w »

Lire cet article
Commandes et Système

Créer un paquet Debian (.deb)

I. Présentation Dans ce tutoriel, nous allons apprendre à créer un paquet Debian ( les fameux fichiers .deb). Qu’est ce qu’un paquet ? Un paquet est un fichier compressé contenant les informations d’installation et les fichiers constituants une application, un plugin, une librairie, un driver, etc. On peut assimiler un paquet par un fichier « Setup.exe » sous Windows par exemple. Un paquet permet donc d’échanger et d’installer facilement un ensemble de commande et/ou de fonctionnalité sur un système donné. Pourquoi doit on spécifier un paquet « Debian » ? Le libre ayant une grande diversité de logiciel et de format, on y trouve logiquement plusieurs formats de système d’installation. Un paquet « Debian » est un paquet qui se termine par l’extension « .deb » et qui peut être installé facilement sur tous les systèmes Debian et dérivés (dont Ubuntu fait partie !). II. Mise en place de l’environnement de test Nous allons dés à présent créer notre paquet en devenir. Celui-ci sera pour notre tutoriel juste

Lire cet article
Commandes et SystèmeServices

Premiers pas avec Fail2ban

I. Présentation Dans ce tutoriel, nous allons voir l’installation, le fonctionnement global et la configuration de l’outil Fail2ban qui est un outil de sécurité intéressant et reconnu. Fail2ban permet en effet de sécuriser les serveurs par l’automatisation de la détection de comportements suspects et leur blocage ou l’envoi d’alertes. Pour information, ce tutoriel s’effectue sur une machine Debian 7 sur une machine virtuelle VirtualBox. II. Fail2ban Fail2ban est donc un outil que l’on peut installer sur une machine UNIX, il va se charger de parser (lire, parcourir) les logs de différentes applications pour vérifier et détecter des comportements dis « suspects ». Il va par exemple savoir détecter un nombre X de tentatives d’authentification infructueuses  sur une service FTP ou SSH ou détecter des requêtes anormales sur un services web tel qu’Apache2. Par défaut, l’outil est donc fournis avec un ensemble de règles que nous étudierons brièvement et que nous pouvons modifier à notre guise. Le fonctionnement de Fail2ban se fait avec des

Lire cet article
Commandes et Système

Automatiser des tâches avec CRONTAB

I. Présentation Sous Linux, il est possible d’automatiser des tâches c’est-à-dire de planifier l’exécution périodique d’une action. Pour cela, on utilise l’outil « crontab » qui permet de configurer des tâches qui sont exécutées par « cron ». Ainsi, on pourra exécuter une opération tous les jours, toutes les 15 minutes, tous les 10 jours, deux fois par semaine à 20h, etc. II. Commandes basiques Commençons par les commandes basiques de CRONTAB ; Afin de lister le contenu de la crontab de l’utilisateur en cours saisissez la commande suivante : crontab -l Pareillement, pour lister la crontab d’un utilisateur on ajoute l’option « -u ». Exemple avec l’utilisateur « flo ». crontab -u flo -l Pour supprimer la contrab, on utilise la commande indiquée ci-dessous. Toutefois, attention puisqu’il n’y a pas de demande de confirmation lors de l’exécution de cette commande. Il faut donc l’utiliser avec précaution. crontab -r A l’inverse, pour éditer la crontab on utilise cette commande :

Lire cet article
Commandes et SystèmeServices

Envoyer des mails depuis plusieurs comptes en ligne de commande

I. Présentation Dans ce tutoriel, nous allons apprendre à utiliser l’outil MSMTP. Ce petit outil qui s’installe sur les distributions Linux permet la gestion du multi-comptes mails en ligne de commande (une sorte de Outlook ou Thunderbird CLI). Il est important de souligner qu’il ne sert qu’à envoyer des mails depuis plusieurs comptes différents (par exemple, un Gmail et un Yahoo) et non à en recevoir. II. Installation de l’outil Nous commençons donc par installer l’outil sur notre machine Linux : apt-get update && apt-get install msmtp III. La configuration Il se peut qu’il n’y ait pas de création de fichier de configuration par défaut, nous allons donc le créer manuellement. Il faut néanmoins savoir où le créer. Par défaut, le fichier principal de configuration sera « /etc/msmtprc ». Cependant, si un fichier « .msmtprc » se trouve dans le « home » d’un utilisateur, celui-ci remplacera le fichier de configuration principal. Cela nous permet d’avoir des configurations différentes selon les utilisateurs. Nous créons ici le

Lire cet article
Commandes et Système

LSOF : spécifier un utilisateur ou un processus

I. Présentation LSOF pour « List Open file » est une commande sous Linux présente ou installable sur la plupart des distributions basées sur Debian qui permet de lister les fichiers ouverts sur le système. Beaucoup d’options et d’utilisations peuvent être faites de cette commande qui peut être très utile pour les administrateurs systèmes (entre autre). Dans ce tutoriel, nous allons voir comment spécifier un utilisateur ou un processus (par son numéro d’identificaiton) à la commande LSOF. Cela en ayant pour but de restreindre les informations affichées. La commande LSOF retourne souvent de très nombreuses informations qui nous sont superflues. Dans une période de débugage par exemple, nous pourrons souhaiter n’avoir que les fichiers utilisés par un processus (programme) ou utilisateur spécifique. Nous allons dans un premier temps vérifier que la commande est bien installée sur le système : lsof -v Si la commande est bien installée, nous aurons plusieurs informations dont le numéro de version de la commande comme suivant :

Lire cet article
Commandes et Système

LSOF lister tous les processus utilisant un fichier

I. Présentation LSOF pour « List Open file » est une commande sous Linux présente ou installable sur la plupart des distributions basées sur Debian qui permet de lister les fichiers ouverts sur le système. Beaucoup d’options et d’utilisations peuvent être faites de cette commande qui peut être très utile pour les administrateurs systèmes (entre autre). Dans ce tutoriel, nous allons voir comment lister tous les processus qui ouvrent un fichier spécifique sur le système. Il est important de savoir que LSOF peut être utilisé de beaucoup de façons différentes et que seule une petite partie en est exposée ici. Nous allons dans un premier temps vérifier que la commande est bien installée sur le système. lsof -v Si la commande est bien installée, nous aurons plusieurs informations dont le numéro de version de la commande comme suivant : Si vous obtenez un « command not found », c’est qu’il faut installer la commande : apt-get update && apt-get install lsof Nous considérons dans

Lire cet article
Commandes et SystèmeServices

Mise en place d’un serveur de temps (NTP) sous Linux

I. Présentation Un serveur de temps permet de synchroniser l’horloge locale des ordinateurs du réseau avec l’horloge du serveur. Cela se fait à l’aide du protocole NTP qui utilise le port 123. Sous Linux, cela se fait à l’aide du paquet ntp, nous allons voir comment l’installer et l’utiliser. II. Installation du paquet ntp Pour bénéficier de la dernière version disponible, mettez à jour votre liste de paquets : apt-get update Ensuite pour installer le paquet ntp saisissez la commande : apt-get install ntp Note : Vous devez être en super-utilisateur pour exécuter ces commandes ou les précéder de « sudo ». III. Arrêter – Démarrer le service NTP Pour démarrer le service NTP saisissez la commande : /etc/init.d/ntp start Pour arrêter le service NTP saisissez la commande : /etc/init.d/ntp stop   IV. Configuration du serveur NTP La configuration du paquet ntp se fait dans le fichier /etc/ntp.conf server 0.ubuntu.pool.ntp.org server 1.ubuntu.pool.ntp.org server 2.ubuntu.pool.ntp.org server 3.ubuntu.pool.ntp.org Ces 4 lignes indiques les serveurs

Lire cet article
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

Réduire la taille du fichier mlocate.db

I. Présentation Sous Linux, la commande « locate » est très pratique pour repérer instantanément la localisation d’un ou plusieurs fichiers selon leurs noms sur le système. Cette commande permet en effet d’afficher les chemins absolus (partant de la racine système) des fichiers que l’on cherche (selon leurs noms). Cependant, lorsque nous exécutons cette commande (Ex: « locate *.png »), la commande va en faite lire un fichier de base de données qui contient l’intégralité des noms et positions de fichiers présents sur le système. La plupart du temps, c’est la commande « updatedb » qui permet de mettre à jour ce fichier qui se nomme « /var/lib/mlocate/mlocate.db ». Sur des systèmes comportant un très grand nombre de fichier, ce fichier base de données peut très rapidement attendre plusieurs centaines de Megaoctects voir plusieurs Gigaoctects. Dans ce tutoriel, nous allons voir comment réduire la taille de ce fichier en ordonnant à la commande « updatedb » d’omettre certains noms de fichiers, dossiers ou certains chemins. II. Afficher la taille du

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
Commandes et Système

Passer de Debian 6 (Squeeze) à Debian 7 (Wheezy)

I. Présentation Récemment, la version stable de Debian à été mise à jour pour passer à sa version 7. Dans ce tutoriel, nous allons voir comment passer une distribution sous Debian 6 (dite « Squeeze ») à Debian 7 ( dite « Wheezy »). C’est une opération simple mais qui doit être faite proprement. Sur des serveurs en production, quelques précautions sont tout de même à prendre. La mise à jour de nombreux paquets de façon simultanée peut poser quelques soucis sur des configurations spécifiques : Il est à prévoir une sauvegarde de vos données et de vos configurations. Il est préférable de commencer par des serveurs de test ou des serveurs non critiques dans un premier temps afin de vous familiariser avec la procédure ainsi qu’avec les éventuels problèmes qu’il est possible de rencontrer II. Vérification de la version actuelle Nous allons d’abord vouloir vérifier la version de notre Debian actuelle. La version de Debian est inscrite dans le fichier « /etc/debian_version ». Nous devrions,

Lire cet article
Commandes et Système

Gérer les permissions sur un montage CIFS

I. Présentation Dans ce tutoriel, nous allons apprendre à gérer les permissions sur un montage CIFS. La plupart du temps, les montages de dossiers partagés se font en tant que root avec l’option « auto ». On peut cependant gérer les permissions, le propriétaire et le groupe propriétaire de manière précise en montant un partage CIFS sous Linux. II. Gestion du propriétaire et du groupe Nous pouvons déjà affecter un montage à un utilisateur précis plutôt qu’au super-utilisateur « root ». Il nous faut pour cela récupérer l’uid « User Identifier » et le gid « Group Identifier » de l’utilisateur dans le fichier « /etc/passwd ». Par exemple pour l’utilisateur « neoflow » : L’UID (chiffre rose de gauche) et le GID (chiffre rose de droite) sont tous les deux « 1001 ». Nous allons donc utiliser ces chiffres pour former notre ligne de montage dans le fichier « /etc/fstab ». Si nous souhaitons par exemple monter notre partage distant « \\192.168.1.32\partage » dans le dossier local « /media/remote_partage » : mkdir /media/remote_partage Puis on modifie le fichier « /etc/fstab »

Lire cet article