[ CATEGORIE ] : Linux

[ TITLE    ] : Copie de données sécurisée avec scp
[ CATEGORY ] : //
[ DATE     ] :

SCP (pour Secure Copy) désigne un transfert sécurisé de fichiers ou dossiers basé sur le protocole SSH. Envoyer ou Récupérer des fichiers sur une machine distanteEnvoyer des fichiersPour un fichier : # scp -p /chemin/dossier/local/fichier.txt login@ipServeur:/chemin/machine/distante/ Pour un dossier : # scp -pr /chemin/dossier/local/ login@ipServeur:/chemin/machine/distante/ Le paramètre -r pour récursif et le paramètre -p pour conserver les dates de modifications et créations et leurs droits

[ TITLE    ] : Horloge Système
[ CATEGORY ] : //
[ DATE     ] :

Il existe plusieurs façon de gérer les horaires et heures sur Linux. Date systèmeAfficher date système # date Modifier date système # date --set "2 nov 2016 16:59 IST"# date -s "7 nov 2016 21:26:19" Utiliser dateConnaître une date dans n jours # date -d "3 days" Afficher la date de façon précise # date "+DATE: %m/%d/%y%n%n%nTIME: %H:%M:%S" Horloge materielle (BIOS)Afficher horloge matérielle (BIOS) # hwclock Synchroniser horloge materielle avec l’horloge

[ TITLE    ] : Répertoires d'installation sous Linux
[ CATEGORY ] : //
[ DATE     ] :

Sous Linux il existe plusieurs répertoires d’installation. Les installations automatiques avec synaptic, apt ou aptitude permettent aux logiciels d’utiliser automatiquement le bon répertoire. Mais quand il faut faire un choix manuel ou quand il faut soi-même compiler un logiciel, quel est le bon répertoire d’installation à choisir ? Le répertoire /usrLe répertoire /usr est l’abréviation de Unix Sytem Ressources (et non pas de user). Ce répertoire appartient à root et seul ce dernier peut y insta

[ TITLE    ] : Port Knocking
[ CATEGORY ] : //
[ DATE     ] :

Principe du port knocking : configurer son pare-feu pour détecter une série précise d’actions. Si une IP effectue ces actions correctement elle sera mise en liste blanche et pourra se connecter au serveur. Exemple : Configurer le pare-feu pour qu’il ajoute à sa liste blanche toutes IP envoyant un paquet sur le port 22, puis sur le port 44, puis sur le port 88, puis sur le port 1337. Il faudra ensuite utiliser un client de portknocking qui devra envoyer la bonne séquence de paquets pour pouvoir a

[ TITLE    ] : Bash et autocomplétion
[ CATEGORY ] : //
[ DATE     ] :

L’autocomplétion est une fonctionnalité permettant de limiter la quantité d’informations à saisir qui propose un complément qui pourrait convenir à la chaîne de caractères préalablement tapée. Cet outil est indispensable pour administrer un serveur mais parfois l’autocomplétion n’est pas disponible par défaut sur un serveur fraîchement installé. Intallation de l’autocompletionIl faut simplement installer le paquet bash-completion # apt install bash-completion Puis modifier dans le fichier .bashr

[ TITLE    ] : Changer le Hostname
[ CATEGORY ] : //
[ DATE     ] :

Si vous voulez changer le hostname par défaut de votre serveur pour qu’il vous soit plus parlant que celui ci : root@Server01 Avant toutes choses, il faut savoir que le hostname correspond au FQDN, et par conséquent il n’est pas possible de donner à votre serveur un nom trop exotique comme [* x Serveur42 x *] mais respecter la convention des noms de domaine (DNS) classique. Ouvrer le fichier /etc/hosts et ajouter le nom d’hôtes désiré. (Note : Il est préférable de conserver le premier nom du

[ TITLE    ] : DKPG et APT
[ CATEGORY ] : //
[ DATE     ] :

DPKG est le gestionnaire de paquet pour Debian et APT est l’interface en ligne de commande DPKGL’outil dpkg permet l’installation, la création, la suppression et la gestion des paquets Debian. aptitude est la principale interface à dpkg et la plus agréable pour l’utilisateur CommandesPrincipales commandes # dpkg -l <NomPaquet> : Donner des informations sur le paquet# dpkg -l <regex> : Donner des informations sur les paquets trouvés# dpkg-query -W <NomPaquet> : Donner des déta

[ TITLE    ] : Les processus sous Linux
[ CATEGORY ] : //
[ DATE     ] :

Un système d’exploitation se compose de processus. Ces derniers, responsables de la stabilité et la sécurité du système, sont exécutés dans un ordre bien précis et observent des liens de parenté entre eux. On distingue deux catégories de processus, ceux axés sur l’environnement utilisateur et ceux sur l’environnement matériel. Les processusPrincipesLorsqu’un programme s’exécute, le système va créer un processus qui lui est associé en plaçant les données et le code du programme en mémoire et en c

[ TITLE    ] : Les processus zombies
[ CATEGORY ] : //
[ DATE     ] :

Au cours de leurs échanges avec le système et les programmes, les processus sont amenés à modifier leur état pour indiquer leur disponibilité. Ces changements sont le plus souvent dus à un besoin en ressources mémoire ou matérielle, à l’écriture de données ou encore à une attente (comme une action utilisateur). Les états les plus connus sont l’état R (en cours d’exécution), S (en sommeil), T (stoppé) ou encore Z (zombie). Ce dernier est particulier car il désigne un processus qui, bien qu’ayan

[ TITLE    ] : Types de fichiers Linux
[ CATEGORY ] : //
[ DATE     ] :

Sous Linux tout est fichier et il existe de plusieurs types, pour les reconaîtres il faut observer la première lettres que renvoie la commande ls -l Les différents types de fichiersSignifications Lettre Signification Explication Commande – regular file Fichier .txt, .conf, .tar, etc. # touch monfichier d directory Répertoire /etc, /home, etc. # mkdir mondossier c character device file Fichier caratère fichiers hardware # mknod b block device file Fichier bloc fichiers hardware # fdis

[ TITLE    ] : Sigterm VS Sigkill
[ CATEGORY ] : //
[ DATE     ] :

Pour communiquer entre eux, les processus utilisent des messages et des signaux que le système d’exploitation se charge de délivrer par le biais de tubes. Les signaux peuvent être directement envoyés à l’aide de la commande kill qui peut s’avérer très utile lorsqu’un processus se comporte de manière inattendue. Un processus peut cependant choisir de ne pas répondre à certains signaux, ce refus dépend du niveau critique de la tâche en cours qui peut parfois modifier l’état du processus, le rendan

[ TITLE    ] : Vim et syntaxe NGINX
[ CATEGORY ] : //
[ DATE     ] :

Vim est un éditeur de texte proposant une compatibilité ascendante avec Vi. Il n’applique pas la coloration syntaxique sur certaines extensions et fichiers de configuration et il ne reconnaît pas tous les languages par défaut, c’est le cas pour les fichiers de configuration de NGINX par exemple. Syntaxe Nginx dans VimPour que Vim reconnaisse la syntaxe des fichiers NGINX il faut dans un premier temps créer un dossier ~/.vim/syntax/ et un fichier ~/vim/syntax/nginx.vim # mkdir -p .vim/syntax/ Vou

[ TITLE    ] : Vim - Enlever mode visuel
[ CATEGORY ] : //
[ DATE     ] :

Il arrive parfois lors d’une mise à jour du système que le comportement de la souris change dans VIM, il n’est alors plus possible de faire un clic droit pour copier du texte car la sélection via la souris fait automatiquement passer VIM en mode VISUEL (accessible aussi via la touche v) Désactivé le mode visuelPour désactiver le mode VISUEL il suffit de taper dans VIM la commande suivante ou de directement la mettre dans votre fichier ~/.vimrc set mouse-=a Documentationhttp://www.varesano.net/

[ TITLE    ] : Vim configuration
[ CATEGORY ] : //
[ DATE     ] :

Voici une petite liste d’options assez utiles pour faciliter l’affichage ou l’utilisation de Vim. Dans un premier temps il faut créer le fichier /etc/vim/vimrc.local s’il n’existe pas et ensuite ajouter les options. Il est également possible de faire la configuration dans le fichier de votre répertoire personnel ~/.vimrc " Taille des tabulationsset tabstop=4" Afficher les numero de lignesset nu" Coloration syntaxiquesyntax oncolorscheme monTemplate Pour faire sois-même son templa

[ TITLE    ] : Vim Commandes utiles
[ CATEGORY ] : //
[ DATE     ] :

Vim est un éditeur de texte proposant une compatibilité ascendante avec Vi. Il permet d’éditer n’importe quel type de texte brut. Il est particulièrement adapté pour l’édition des programmes dans la console. Sauvegarder / quitterPour rentrer dans le mode commande : touche [Esc] Commandes Actions :w Sauvegarde :x Sauvegarde puis quitte vi :wq Sauvegarde puis quitte ZZ Sauvegarde si nécessaire puis quitte :q

[ TITLE    ] : Arborescence Linux
[ CATEGORY ] : //
[ DATE     ] :

Les sytèmes GNU/Linux s’organisent selon la FHS, Filesystem Hierarchy Standard (ou norme de la hiérarchie des systèmes de fichiers) qui définit l’arborescence et le contenu des principaux répertoires de l’OS. Commande treePour lister l’arborescence de son système, on utilise tree Un simple tree va vous lister absolument tous les répertoires et tous les fichiers du répertoire courant. Pour limiter les informations on peut utiliser les options -d pour n’afficher que les répertoire ou -L pour indiq

[ TITLE    ] : Cron et Crontab
[ CATEGORY ] : //
[ DATE     ] :

La crontab est le programme utilisé pour configurer les tables utilisées par le daemon cron. Chaque utilisateur sur le système peut avoir sa propre crontab et il est possible d’établir des restrictions d’utilisation. La commande crontab s’utilise comme tel : crontab [ -u user ] filecrontab [ -u user ] [ -i ] { -e | -l | -r } Le répertoire /var/spool/cron/crontabs, contient tous les fichiers crontabs de chaque utilisateur, ils ne sont cependant pas destinés à être modifiés directement

[ TITLE    ] : Expressions Regulieres
[ CATEGORY ] : //
[ DATE     ] :

Les expressions régulières (appelées aussi expreg, regexp, patern, motif) s’utilisent comme un filtre. Elles permettent de définir un modèle de chaînes de caractère décrivant un ensemble possible de mots ou de groupes de mots plus ou moins complexe. Très utile pour filtrer une recherche de fichier parmi une longue liste ou les résultats des logs ou encore pour créer des règles précises dans Fail2Ban (pour ne citer que ces cas). Utilisation (quasi) universelle des symbolesLes définitions ci-desso

[ TITLE    ] : Obtenir de l'aide sous Linux
[ CATEGORY ] : /
[ DATE     ] :

Sous Linux il existe 3 façons d’obtenir de l’aide, il est possible d’invoquer l’aide pour les commandes internes au shell, l’aide pour les commandes externes et enfin de consulter directement le manuel en ligne. # help # Donne la liste des commandes internes au shell# help <cmd> # Aide de la commande interne <cmd># <cmd> --help # Aide incluse au sein du programme <cmd># man <cmd> # Manuel en ligne de la commande <cmd&g