19/09/2024

Commandes et Système

BashCommandes et Système

Trier des fichiers selon une date avec FIND

I. Présentation Dans ce tutoriel, nous allons apprendre à tirer et à agir sur des fichiers et des dossiers selon une date. Cela pourra être leur date de création, de modification ou de dernier accès. Nous pourrons effectuer plusieurs actions sur ces données une fois que nous saurons les trier. II. Les options FIND Pour ce faire, nous allons nous aider de la commande « find » qui sert à lister et trier des fichiers selon certaines options. Nous pouvons en effet avec FIND définir le nom ou une partie du nom de ce que nous cherchons ( option « -name < > »), définir sur combien de niveau (arborescence) on souhaite chercher ( option « -maxdepth < > »), depuis où, etc … Par exemple si nous souhaitons chercher toutes les archives faites dans le dossier « /var/log » qui sont plus âgées que 5 jours : find /var/log/ -maxdepth 3 -name « *gz* » -ctime +5 Explication : « /var/log » : indique le répertoire ou nous allons chercher. Nous

Lire cet article
Commandes et Système

Monter un partage CIFS sous Linux

I. Présentation Dans ce tutoriel, nous allons apprendre à monter un partage CIFS sous Linux. On commence par installer un paquet nommé « cifs-utils » qui nous permettra de monter des partage CIFS : apt-get install cifs-utils   II. Monter un partage à la main Il nous faut ensuite créer un répertoire dans lequel nous allons monter notre répertoire distant. Nous allons ici le nommer « partage » et nous allons le placer dans « /media/ » : mkdir /media/partage Nous allons maintenant utiliser la commande « mount » pour monter notre partage distant dans le dossier précédemment créé : mount -t cifs \\\chemin /media/partage Nous pouvons également spécifier des identifiants (login/ mot de passe) : mount –t cifs –o username=,password= \\\chemin /media/partage On pourra alors effectuer la commande « mount » pour voir les montages actifs. Pour démonter notre partage, nous utilisera la commande « umount » et nous spécifierons ensuite l’endroit où l’on a monté notre dossier distant : umount /media/partage   III. Automatisation du montage au démarrage Sous Linux,

Lire cet article
Commandes et SystèmeNetfilterServices

Appliquer des règles Iptables au démarrage

I. Présentation Les règles Iptables sont les règles qui régissent la sécurité et la façon de fonctionner du pare-feu Netfilter , présent nativement sur les distributions Linux. Lors du redémarrage d’une machine, les règles Iptables mises en place sont remises à zéro, elles ne sont pas nativement sauvegardées dans le système. Il peut alors être intéressant de savoir les récupérer et les ré-appliquer dès le démarrage de la machine ou bien d’une interface. Nous allons donc voir dans ce tutoriel comment charger et récupérer nos règles Iptables au démarrage de notre machine. II. Sauvegarde des règles de filtrage Iptables contient une commande permettant de sauvegarder la table de filtrage dans un fichier. Cette commande peut nous être utile pour sauvegarder nos règles et donc les récupérer plus tard. Par exemple, pour sauvegarde la configuration de notre table de filtrage Iptables dans un fichier « /etc/iptables.rules » , il faut saisir la commande suivante: iptables-save > /etc/iptables.rules Ensuite, si vous consultez le contenu

Lire cet article
Commandes et Système

Changer le mot de passe d’un utilisateur avec Passwd

I. Présentation Il peut arriver d’avoir besoin de changer le mot de passe d’un utilisateur sur une machine Linux, c’est une opération trés simple qui s’effectue avec la commande POSIX « passwd ». Dans ce tutoriel, nous allons donc apprendre à changer le mot de passe d’un utilisateur simple mais aussi celui de root avec cette commande. Ce qu’il faut savoir, c’est que seul un utilisateur peut changer son propre mot de passe (s’il y est autorisé) et que root peut changer tous les mots de passe. Les mots de passe sont stockés dans le fichier « /etc/shadow » où ils sont chiffrés. II. Le fichier /etc/shadow Le fichier « /etc/shadow » contient les mots de passe cryptés des utilisateurs. Sa création a été faite afin de sécuriser un peu le système d’authentification car les développeurs ont jugés dangereux de mettre le mot de passe et les autres informations utilisateurs dans un même fichier. En effet, le fichier « /etc/passwd » est lisible par

Lire cet article
Commandes et SystèmeSSH

Fermer une session TTY à distance

I. Présentation Il peut parfois arriver que l’on oublie de fermer une session TTY (en connexion « physique ») à une machine ou un serveur. Auquel cas il peut être pratique de savoir fermer cette connexion à distance (via SSH par exemple). C’est ce que nous allons voir dans ce tutoriel. II. Fonctionnement Pour mieux comprendre comment nous allons faire, il faut savoir que chaque action sur une machine est présente sous la forme d’un processus désigné par un numéro d’identification: le PID. La commande POSIX « ps » nous permet d’afficher les processus en ligne de commande sous une machine UNIX : ps -ef Options : « -e » permet d’afficher tous les processus actifs « -f » permet d’avoir un affichage plus détaillé. Nous verrons alors beaucoup de processus actifs, si on affiche un exemple de ces processus : Nous pouvons ici voir plusieurs informations intéressantes. Ce qu’il faut savoir est que la première colonne désigne l’utilisateur qui a lancé la commande. La deuxième est le

Lire cet article
Commandes et SystèmeNetfilterSSH

Autoriser le SSH via Iptables

I. Présentation Iptables est un paquet présent sur la plupart des distributions Debian qui permet de gérer en ligne de commande les règles de Netfilter, un pare-feu natif à ces mêmes distributions. Dans ce tutoriel, nous allons voir comment autoriser uniquement le port SSH à être contacté sur un serveur au travers la manipulation d’Iptables. II. Explications Nous allons en effet chercher à sécuriser notre port SSH via Iptables à travers différents paramètres et options. On verra tout d’abord comment fermer tous les ports de notre serveur pour n’ouvrir que le port SSH pour ensuite spécifier des sécurités supplémentaires quant à la connexion SSH. Iptables nous permettra de faire ce genre de sécurité. Pour simplifier la gestion des règles Iptables. Nous travaillerons avec un script qui exécutera les règles Iptables. On doit donc créer un fichier que nous nommerons ici « iptables.sh » : vim iptables.sh Puis nous allons commencer par réinitialiser les règles déja écrites : # !/bin/bash # Supprimer les

Lire cet article
Commandes et SystèmeSSH

Gestion du temps d’inactivité d’un shell

I. Présentation Il peut parfois arriver lorsqu’une connexion shell est établie sur un poste (SSH ou direct) d’oublier par négligence de fermer cet accès créant ainsi une ouverture à d’éventuelles attaques physiques. On peut imaginer qu’en allant sur une urgence ou en simple pause, une autre personne vienne sur le poste pour prendre le contrôle de l’accès SSH ou TTY de votre machine. Nous allons donc configurer notre shell pour qu’il se ferme automatiquement au bout de quelques minutes d’inactivité. Nous allons faire en sorte qu’au bout de 5 minutes d’inactivité, le bash se ferme automatiquement. Cela évitera que si, par négligence, on laisse ouvert un terminal sur notre serveur et quelqu’un puisse venir derrière le prendre pour l’utiliser en ayant alors un accès total à la machine. Dans le « man » de bash, nous apprenons que la valeur « TMOUT » pour « Timeout » (délai d’expiration) est le délai d’inactivité en seconde après lequel une session sera

Lire cet article
Commandes et Système

Sécuriser l’édition du GRUB

I. Présentation Le GRUB est le système qui va s’occuper du menu de démarrage de notre système quand nous installons un OS Linux. Le GRUB est un outil qui permet de détecter les différents systèmes d’exploitation présents sur la machine et de les lister au démarrage de celle-ci pour nous orienter vers quel OS démarrer. C’est un outil que l’on peut optimiser afin de mettre en place une meilleure protection de notre machine. II. Détecter la version du GRUB La méthode de sécurisation d’une application dépend de sa version. C’est notamment vrai pour le GRUB. Nous devons donc dans un premier temps détecter la version du GRUB que nous avons sur notre machine. La version du GRUB s’affiche au démarrage de la machine comme suivant : Pour connaitre la manière de faire sur une machine déjà démarrée, nous allons utiliser le paquet « dpkg » qui sert à donner des informations sur les paquets installés. On utilisera donc la commande

Lire cet article
Commandes et Système

Récupérer des informations sur son système Linux avec UNAME

I. Présentation Dans ce tutoriel, nous allons apprendre à récupérer des informations sur notre système avec la commande uname. Ces informations peuvent être le nom d’hôte, le processeur de notre machine, la version du noyau.. II. Utilisation uname est une commande POSIX (présente sur tous les systèmes UNIX) qui permet de récupérer ce genres d’informations. On utilise rarement la commande uname seule mais plutôt avec l’option « -a » ou « -all » qui affiche l’ensemble des informations systèmes importantes : L’option « -a » permet de regrouper l’ensemble des autres options disponibles sur la commande « uname ». Dans l’ordre, ces commandes sont les suivantes : « -s » ou « –kernel-name » : C’est le nom du noyau, Ici « Linux ». « -n » ou « –nodename » : C’est le nom d’hôte de votre machine, ici « srvlinux1 ». « -r » ou « –kernel-release » : C’est la version actuelle du noyau , ici « 2.6.32-5-686 » soit squeeze en 32 bits. « -v » ou « –kernel-version » : C’est la date à laquelle a été compilé le noyau (date de mise à jours

Lire cet article
BashCommandes et Système

Les variables spéciales shell sous Linux

I. Présentation Dans ce tutoriel, nous allons nous attarder sur les variables spéciales shell. Ces variables servent dans la plupart du temps dans les scripts bash car ils permettent de récupérer des informations sur les arguments passés ou sur l’exécution en cours. On utilisera ces variables spéciales dans nos scripts, la plupart du temps par un affichage avec « echo » ou pour le traitement des données et paramètres d’un script. Les variables spéciales se compose toujours de deux caractères, le premier est « $ » est le deuxième varie en fonction de la variable et du résultat voulu par exemple « $* » ou « $1 ». Pour tous le tutoriel, on considérera qu’on à un script « script.sh » contenant la trame suivante : #!/bin/bash echo « Arg = < variable spéciale > » ; Nous passerons ainsi divers paramètres pour tester leurs fonctionnements. On exécutera ce script via la commande suivante : bash script.sh Il nous faudra bien sur avant le passer en exécutable : chmod +x script.sh  

Lire cet article
Commandes et Système

Rendre ses couleurs à vim

I. Présentation Dans ce petit tutoriel, nous allons rendre ses couleurs à vim. Il arrive parfois lors de son installation que vim n’affiche pas les couleurs (commentaires, commandes, …) comme suivant : II. Procédure Les couleurs dans les fichiers de configuration ou les scripts (entre autre) nous permettent d’avoir une vue plus clair des fichiers et de nous repérer plus facilement. Pour activer l’affichage des couleurs dans vim, il faut se rendre dans son fichier de configuration : vim /etc/vim/vimrc Puis dé-commenter la ligne suivante après s’être assuré que le paramètre « syntax » est bien « on » : Nous aurons maintenant les couleurs dans nos scripts et nos fichiers de configuration :

Lire cet article
BashCommandes et Système

L’enchaînement des commandes sous Linux

I. Présentation Sous Linux, quand nous travaillons en ligne de commande, il est souvent bien pratique d’avoir la possibilité d’exécuter plusieurs commandes en une seule ligne. Par exemple si l’on souhaite télécharger, décompresser et ouvrir une archive, on exécutera une seule ligne de commande comme suivant: wget http://archive.tar.gz/ ; tar zxvf -C /opt/ archive.tar.gz ; cd /opt/archive/ Au lieu d’exécuter plusieurs de ces commandes séparément et avec une commande par ligne. Il est néanmoins important dans l’exécution de ces commandes que chacune réussissent pour que la prochaine soit utilisable et utile. II. les caractères d’enchainement Il existe sous Linux trois caractères qui permettent l’enchainement des commandes, il s’agit de « ; », « || » et « &&. Chacun de ces trois caractères ont un type d’exécution différents au niveau de l’enchainement des commandes. III. Le point virgule Un enchainement de commande avec un point virgule comme c’est le cas dans l’exemple enchaînera les commandes sans se soucier de la réussite ou de l’échec de

Lire cet article
Commandes et SystèmeServices

Connexion VPN sous Gnome3

I. Présentation Dans ce tutoriel, nous allons apprendre à paramétrer et établir une connexion VPN sous l’interface graphique Gnome3. Nous passerons pour cela à travers l’application « network-manager » qui s’occupe nativement de la gestion des connexions réseaux sous de nombreuses distributions Linux. II. Télécharger l’application Il faut commencer par télécharger et installer un client VPN « openvpn » ainsi que le plugin openvpn pour « network-manager » qui s’occupe des connexions réseaux sous Gnome3. On lance pour cela synaptic qui est le gestionnaire de paquets de la plupart des distributions : On télécharge ensuite les trois paquets suivants, il s’agit du client Openvpn ainsi que des modules Openvpn pour le gestionnaire réseau « Network-Manager » : On peut, pour les trouver, s’aider du « Filtre rapide » en y entrant « openvpn ». On fera ensuite un clic gauche sur la case blanche de ces paquets puis « Sélectionner pour l’installation », on cliquera enfin sur « Appliquer » pour lancer l’installation des différents paquets : On

Lire cet article
Commandes et SystèmeServices

Sécuriser DNS Bind9 – Serveur unique

I. Présentation Le serveur de votre architecture se doit d’être sécurisé afin de ne pas se retrouver avec un serveur en déni de service et de ne pas voir s’arrêter la majorité des services qui s’appuient sur le DNS. Se protéger, oui, mais contre quoi ? Contre les attaques de types « DNS Spoofing » et « DNS cache poisoning ». La sécurisation d’un serveur de noms autonome, unique, passe essentiellement par le paramétrage des restrictions des requêtes client, sur le transfert de zone, et de ne pas afficher la version de Bind installée sur votre serveur lorsqu’on lui demande de l’indiquer. Toutefois, un des meilleurs moyens d’augmenter la sécurité de Bind est de le maintenir à jour, c’est-à-dire d’installer la version la plus récente disponible afin d’éviter d’installer un système contenant des vulnérabilités connues. Dans ce tutoriel, je pars du principe où vous maitrisez Bind9 et ses différents fichiers de configuration. Je vous rappelle qu’un tutoriel sur la mise

Lire cet article
Commandes et SystèmePare-Feu

Configurer un routeur sous Linux

I. Présentation Nous allons dans ce tutoriel apprendre à mettre un en place un routeur sous Linux. Les distributions sous Linux sont très polyvalentes et cela permet entre autre de les transformer en véritables routeurs. Il faut bien sur pour cela que notre machine Linux dispose d’au moins deux interfaces réseaux car la première fonction d’un routeur et de faire la passerelle (gateway) entre un réseau et un autre qui ne pourraient communiquer sans. II. Configuration des deux interfaces Nous allons commencer par configurer nos deux interfaces avec des IP fixes. Un routeur est un élément central d’un réseau et toutes les machines de ce réseau s’y réfèrent pour leurs requêtes. Il est donc obligatoire que notre routeur ai une IP fixe sur chacune de ces interfaces. Nous travaillerons ici sur l’interface « eth0 » qui sera orientée vers le réseau simulant une réseau externe « WAN » en 192.168.1.0/24 et une seconde interface « eth1 » qui sera vers notre « LAN » en 192.168.10.0/24. Aprés vous

Lire cet article