19/12/2024

Linux

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
Base de données

Changer l’emplacement des bases de données MySQL

I. Présentation Par défaut, les bases de données (en tant que fichier) sont stockées dans « /var/lib/mysql/ » sous Linux. Pour des questions d’organisation, de sécurité ou de place, il est peut être intéressant de changer l’emplacement de ces bases de données vers un autre dossier/ chemin. Nous allons voir dans ce tutoriel que cela est possible directement dans la configuration de MySQL. II. Repérer où sont les bases de données Dans un premier temps, nous allons voir où sont situées nos bases de données selon la configuration de notre serveur MySQL. On se rend pour cela dans le fichier « /etc/mysql/my.cnf » : On trouvera alors le champ « datadir » qui pointe par défaut vers « /var/lib/mysql ». Afin de vérifier cette information, nous allons aller dans ce dossier pour voir les bases de données présentes et surtout leurs permissions : ls -al /var/lib/mysql Nous aurons alors un résultat de ce type : Ici, une base de données est représentées par un dossier (comme « mysql » ou

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

Créer un partage simple avec Samba

I. Présentation Dans ce tutoriel, nous allons voir comment créer un partage de fichiers rapidement avec Samba, le but est donc ici de partager un ensemble de fichiers présents sur un poste sur tout un réseau. Nouveau tutoriel Samba disponible : Serveur de fichiers Debian : installer et configurer Samba 4 On va supposer que le dossier que nous voulons partager est « /media/partage » mkdir /media/partage chmod 0777 /media/partage On peut également créer un dossier « test » dans ce dossier partagé pour vérifier que nous voyons bien son contenu plus tard : mkdir /media/partage/test1 II. Installation de Samba On commence donc par installer samba qui va nous permettre de rendre ce dossier accessible sur le réseau : apt-get install samba La configuration de samba se trouve dans « /etc/samba ». On fait directement une copie du fichier de configuration initial pour s’assurer d’avoir quelque chose à récupérer en cas d’erreur : mv /etc/samba/smb.conf /etc/samba/smb.conf.bak Nous allons ensuite recréer un fichier de configuration vierge qui

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

Gérer le seuil d’utilisation de la SWAP

I. Présentation Par défaut, les systèmes Linux commencent à décharger l’utilisation de la RAM sur la SWAP à partir de moins de 60% de la RAM restante. Autrement dit, quand la RAM est utilisée au dessus de 40%, le système peut commencer à utiliser la SWAP. Cela peut poser des problèmes car la SWAP utilise des ressources sur le disque dur ce qui peut alors, d’une part ralentir l’accès aux autres données, mais aussi ralentir le traitement des informations par la SWAP si le disque dur n’est pas performant. Dans ce tutoriel, nous allons apprendre à gérer le seuil d’utilisation de la SWAP. II. Changement temporaire Nous allons dans un premier temps voir comment faire un changement pour temporaire, cela signifie que la valeur sera réinitialisée à « 60 » au redémarrage de la machine. Par défaut, ce seuil est inscrit dans le fichier « /proc/sys/vm/swappiness ». Voyons son contenu : cat /proc/sys/vm/swappiness On voit donc que le fichier contient « 60 », cela signifie que

Lire cet article