Les principales commandes Linux indispensables en cybersécurité

La maîtrise des commandes Linux constitue un prérequis important pour travailler efficacement sous Kali Linux. Même si Kali Linux dispose d'une interface graphique, de nombreuses opérations d'administration système, de configuration réseau et de cybersécurité sont réalisées depuis le terminal.

Dans ce chapitre, nous allons découvrir les principales commandes communes aux systèmes Linux. L'objectif n'est pas d'étudier toutes les commandes disponibles, mais d'acquérir les bases nécessaires avant de commencer les travaux pratiques de cybersécurité sous Kali Linux.

 

1. Qu'est-ce qu'une commande Linux ?

Une commande Linux est une instruction saisie généralement dans un terminal afin de demander au système d'exploitation d'effectuer une opération précise. Elle permet par exemple d'afficher le contenu d'un répertoire, créer un fichier, copier des données, rechercher une information, afficher les processus actifs ou consulter la configuration réseau.

Les commandes constituent l'un des principaux moyens d'interagir avec un système Linux. Elles sont particulièrement importantes en cybersécurité, car de nombreux outils utilisés sous Kali Linux fonctionnent principalement ou exclusivement depuis la ligne de commande.

Par exemple, la commande pwd permet d'afficher le répertoire dans lequel l'utilisateur se trouve actuellement :

Une sortie possible est :

La commande ls permet quant à elle d'afficher le contenu du répertoire courant :

Une sortie possible est :

Ces commandes ne sont pas propres à Kali Linux. Elles sont utilisées sur de nombreuses distributions Linux.

 

2. Le terminal Linux

Le terminal est l'application qui permet à l'utilisateur de saisir des commandes et de consulter les résultats produits par le système. Il constitue donc l'interface entre l'utilisateur et l'interpréteur de commandes, également appelé shell.

Lorsque le terminal est ouvert sous Kali Linux, une invite de commande apparaît. Sa présentation peut varier selon la configuration du système.

On peut rencontrer par exemple une invite semblable à :

  • Le symbole $ indique généralement que les commandes sont exécutées avec les privilèges d'un utilisateur ordinaire.
  • Le symbole # est généralement associé à un shell disposant des privilèges de l'administrateur root.

Il ne faut donc pas saisir les caractères de l'invite lorsqu'un exemple de commande est donné. Si le cours présente :

la commande à saisir est simplement :

 

3. Syntaxe générale d'une commande Linux

Une commande Linux est généralement composée du nom de la commande, éventuellement suivi d'une ou plusieurs options et d'un ou plusieurs arguments.

On peut représenter sa structure générale de la manière suivante :

Par exemple :

Dans cet exemple, ls est la commande, -l est une option et /home est l'argument sur lequel la commande doit agir.

Il est fréquent qu'une commande accepte plusieurs options. La commande suivante affiche par exemple les fichiers sous une forme détaillée et inclut les fichiers cachés :

Les options peuvent souvent être écrites sous une forme courte comme -a ou sous une forme longue commençant par deux tirets, comme --all. Leur disponibilité dépend cependant de chaque commande.

 

4. Navigation dans les répertoires

Avant d'utiliser les outils de cybersécurité, il est indispensable de savoir se déplacer dans l'arborescence Linux. Trois commandes fondamentales sont pwd , ls , cd. 
Afficher le répertoire courant :

Afficher le contenu du répertoire courant :

Se déplacer dans le répertoire Documents :

Revenir au répertoire parent :

Revenir directement dans le répertoire personnel de l'utilisateur :

La commande cd accepte aussi des chemins absolus :

La maîtrise des chemins relatifs et absolus est essentielle, car les commandes Linux manipulent très fréquemment des fichiers situés dans différents emplacements du système.

 

5. Manipulation des fichiers et des répertoires

Linux fournit plusieurs commandes permettant de créer, copier, déplacer, renommer ou supprimer des fichiers et des répertoires.

Créer un répertoire :

Créer un fichier vide :

Copier un fichier :

Déplacer ou renommer un fichier :

Supprimer un fichier :

Supprimer un répertoire vide :

La commande rm  doit être utilisée avec prudence. Contrairement aux interfaces graphiques, la suppression effectuée depuis le terminal ne passe généralement pas par une corbeille permettant une restauration simple.

 

6. Affichage et recherche de contenu

Lors de l'administration d'un système ou d'un travail de cybersécurité, il est fréquent de devoir examiner rapidement le contenu d'un fichier ou rechercher une information précise.

Afficher le contenu complet d'un petit fichier :

Consulter progressivement un fichier volumineux :

Afficher les premières lignes :

Afficher les dernières lignes :

Rechercher un mot ou une expression dans un fichier :

Rechercher un fichier dans une arborescence :

Les commandes grep et find sont particulièrement utiles lorsqu'il faut analyser de nombreux fichiers, des journaux système ou les résultats produits par certains outils.

 

7. Utilisateurs, permissions et privilèges

Linux est un système multi-utilisateur dans lequel les fichiers, les répertoires et les processus sont associés à des utilisateurs et à des permissions. Cette notion est fondamentale en administration système comme en cybersécurité.

Afficher l'utilisateur actuellement connecté :

Afficher l'identité de l'utilisateur et ses groupes :

Afficher les permissions des fichiers :

Modifier les permissions d'un fichier :

La commande sudo permet d'exécuter une commande avec des privilèges élevés lorsque l'utilisateur y est autorisé :

L'utilisation de sudo doit rester limitée aux opérations qui nécessitent réellement des privilèges administrateur. Une erreur exécutée avec des privilèges élevés peut modifier ou endommager des éléments importants du système.

 

8. Processus, système et réseau

Plusieurs commandes permettent d'observer le fonctionnement du système, les processus actifs et la configuration réseau. Elles seront particulièrement utiles lorsque nous commencerons les travaux pratiques de cybersécurité.

Afficher les processus :

Observer dynamiquement l'activité des processus :

Afficher des informations sur le système :

Afficher l'espace disque disponible :

Afficher les interfaces et adresses IP :

Tester l'accessibilité d'une machine :

Afficher les sockets réseau :

Ces commandes sont des commandes ou utilitaires Linux généraux. Leur utilisation sous Kali Linux ne signifie pas qu'elles sont spécifiques à Kali.

 

9. Obtenir de l'aide sur une commande

Il est inutile d'essayer de mémoriser immédiatement toutes les options de toutes les commandes Linux. Le système fournit plusieurs mécanismes permettant de consulter directement leur documentation.

La commande man permet d'afficher la page de manuel d'une commande :

De nombreuses commandes acceptent également l'option --help :

Pour rechercher rapidement le rôle d'une commande disposant d'une page de manuel, on peut également utiliser :

Cette habitude est particulièrement importante en cybersécurité : plutôt que de mémoriser mécaniquement de longues syntaxes, il faut comprendre le rôle d'une commande puis savoir consulter sa documentation lorsqu'une option particulière est nécessaire.

 

10. Résumé des principales commandes Linux

Le tableau suivant regroupe les principales commandes Linux présentées dans ce chapitre. Il constitue un aide-mémoire permettant de retrouver rapidement le rôle de chaque commande et un exemple simple d'utilisation.

CommandeRôleExemple
pwdAfficher le répertoire courantpwd
lsAfficher le contenu d'un répertoirels -la
cdChanger de répertoirecd Documents
mkdirCréer un répertoiremkdir laboratoire
rmdirSupprimer un répertoire vidermdir laboratoire
touchCréer un fichier videtouch notes.txt
cpCopier un fichier ou un répertoirecp fichier.txt copie.txt
mvDéplacer ou renommer un fichiermv ancien.txt nouveau.txt
rmSupprimer un fichierrm fichier.txt
catAfficher le contenu d'un fichiercat fichier.txt
lessConsulter progressivement un fichierless fichier.txt
headAfficher les premières lignes d'un fichierhead fichier.txt
tailAfficher les dernières lignes d'un fichiertail fichier.txt
grepRechercher du textegrep "erreur" journal.txt
findRechercher des fichiers et des répertoiresfind ~/Documents -name "rapport.txt"
whoamiAfficher l'utilisateur courantwhoami
idAfficher l'identité et les groupes d'un utilisateurid
chmodModifier les permissionschmod 600 fichier.txt
sudoExécuter une commande avec des privilèges élevéssudo commande
psAfficher les processusps aux
topSurveiller les processus en temps réeltop
unameAfficher des informations sur le systèmeuname -a
dfAfficher l'espace disque disponibledf -h
ipAfficher et gérer la configuration réseauip addr
pingTester l'accessibilité d'une machineping 192.168.1.1
ssAfficher les connexions et sockets réseauss -tuln
manAfficher le manuel d'une commandeman ls
whatisAfficher une courte description d'une commandewhatis chmod
 

11.À retenir

Les commandes Linux permettent de contrôler le système directement depuis le terminal. Elles servent notamment à naviguer dans l'arborescence, manipuler des fichiers, rechercher des informations, gérer les permissions, observer les processus et examiner la configuration réseau.

Les commandes présentées dans ce chapitre ne sont pas propres à Kali Linux. Elles appartiennent à Linux, à GNU ou à différents utilitaires couramment présents dans les distributions Linux. Kali Linux étant basée sur Debian, elle bénéficie naturellement d'un grand nombre d'outils et de commandes issus de cet environnement.

Dans la suite du cours, nous rencontrerons également des outils de cybersécurité particulièrement présents dans Kali Linux. Il faudra alors distinguer les commandes générales du système Linux des commandes associées à des logiciels spécialisés de cybersécurité.

 




Auteur : Younes Derfoufi
Lieu de travail : CRMEF OUJDA
Site Web : www.tresfacile.net
Chaine YouTube : https://www.youtube.com/user/InformatiquesFacile
Me contacter : https://www.tresfacile.net/me-contacter/


Leave a Reply

Your email address will not be published. Required fields are marked *