GREY-X // ARCH LAB
user@archlinux ~ $
Arch Linux est une distribution Linux connue pour sa simplicité, sa flexibilité et son approche minimaliste.
Contrairement à certaines distributions qui installent de nombreux composants par défaut, Arch permet de construire son environnement selon ses besoins.
Cette philosophie en fait également un excellent environnement pour apprendre à comprendre Linux.
Mais Arch demande une chose essentielle :
savoir ce que l’on configure.
01 // Identifier le système
Link to heading
Afficher les informations de la distribution :
cat /etc/os-release
Afficher le noyau :
uname -a
Afficher l’utilisateur :
whoami
Afficher le nom de la machine :
hostname
Afficher l’architecture :
uname -m
02 // Naviguer dans le système
Link to heading
Les commandes Linux classiques fonctionnent également sous Arch.
pwd
Afficher les fichiers :
ls -la
Changer de répertoire :
cd /etc
Revenir au répertoire parent :
cd ..
Créer un dossier :
mkdir laboratoire
Créer un fichier :
touch notes.txt
03 // Pacman : le gestionnaire de paquets
Link to heading
La commande centrale pour gérer les paquets sur Arch Linux est :
pacman
Synchroniser les bases de données et mettre à jour le système :
sudo pacman -Syu
Installer un paquet :
sudo pacman -S nmap
Supprimer un paquet :
sudo pacman -R nmap
Rechercher un paquet dans les dépôts :
pacman -Ss nmap
Afficher les informations d’un paquet :
pacman -Si nmap
Rechercher les paquets installés :
pacman -Q
Rechercher un paquet installé :
pacman -Qs nmap
Afficher les fichiers appartenant à un paquet :
pacman -Ql nmap
04 // Pacman : comprendre la logique
Link to heading
Si tu viens de Debian ou openSUSE, voici les équivalences principales :
Debian / Kali Arch
apt update pacman -Sy
apt upgrade pacman -Su
apt update + upgrade pacman -Syu
apt install nmap pacman -S nmap
apt remove nmap pacman -R nmap
apt search nmap pacman -Ss nmap
La commande la plus importante à retenir pour maintenir Arch à jour reste :
sudo pacman -Syu
05 // AUR
Link to heading
Arch possède également un écosystème très important appelé AUR — Arch User Repository.
L’AUR contient des recettes de paquets maintenues par la communauté.
Un outil comme yay peut faciliter l’utilisation de l’AUR lorsqu’il est installé.
Rechercher un paquet :
yay -Ss nom-paquet
Installer :
yay -S nom-paquet
⚠️ L’AUR n’est pas équivalent aux dépôts officiels. Avant d’installer un paquet provenant de l’AUR, il est important de vérifier son contenu et sa provenance.
06 // Systemd
Link to heading
Arch utilise systemd pour gérer les services.
Vérifier un service :
systemctl status sshd
Démarrer :
sudo systemctl start sshd
Arrêter :
sudo systemctl stop sshd
Redémarrer :
sudo systemctl restart sshd
Activer au démarrage :
sudo systemctl enable sshd
Activer et démarrer immédiatement :
sudo systemctl enable --now sshd
Afficher les services actifs :
systemctl list-units --type=service --state=running
07 // Les logs
Link to heading
Arch utilise également journalctl pour consulter les journaux de systemd.
Afficher les logs :
sudo journalctl
Afficher les dernières lignes :
sudo journalctl -n 50
Suivre les logs en temps réel :
sudo journalctl -f
Afficher les logs d’un service :
sudo journalctl -u sshd
Afficher les logs depuis le dernier démarrage :
sudo journalctl -b
Pour diagnostiquer un problème, savoir lire les logs est souvent plus important que de lancer immédiatement un outil.
08 // Réseau
Link to heading
Afficher les interfaces :
ip addr
Afficher les routes :
ip route
Tester la connectivité :
ping 8.8.8.8
Tester le DNS :
dig example.com
Afficher les sockets :
ss -tulnp
Afficher les voisins réseau :
ip neigh
Ces commandes constituent une excellente base pour l’administration réseau et le pentesting en laboratoire.
09 // NetworkManager
Link to heading
Si NetworkManager est utilisé, nmcli permet de gérer les connexions.
Afficher les interfaces :
nmcli device status
Afficher les connexions :
nmcli connection show
Afficher les détails :
nmcli device show
Activer une connexion :
nmcli connection up "nom-connexion"
Désactiver :
nmcli connection down "nom-connexion"
10 // Processus
Link to heading
Afficher les processus :
ps aux
Surveiller le système :
top
Si installé :
htop
Rechercher un processus :
ps aux | grep ssh
Trouver un PID :
pgrep sshd
Arrêter un processus :
kill PID
11 // Utilisateurs
Link to heading
Afficher l’utilisateur actuel :
whoami
Afficher ses groupes :
groups
Créer un utilisateur :
sudo useradd -m alice
Définir son mot de passe :
sudo passwd alice
Afficher les utilisateurs locaux :
cat /etc/passwd
Afficher les groupes :
cat /etc/group
12 // Permissions
Link to heading
Afficher les permissions :
ls -l
Modifier les permissions :
chmod +x script.sh
Modifier le propriétaire :
sudo chown alice:alice fichier.txt
Les permissions sont fondamentales dans l’administration Linux.
Comprendre r, w et x permet déjà de mieux comprendre les mécanismes de contrôle d’accès.
r → read
w → write
x → execute
13 // Rechercher des fichiers
Link to heading
Rechercher un fichier :
find /home -name "notes.txt"
Rechercher du contenu :
grep -R "error" /var/log/
Rechercher une commande :
which nmap
Afficher le chemin d’une commande :
command -v nmap
14 // Arch et la philosophie KISS
Link to heading
Arch est souvent associé à la philosophie :
KISS — Keep It Simple, Stupid.
L’idée n’est pas simplement d’avoir un système minimal.
C’est surtout de comprendre les composants qui constituent le système et de pouvoir les contrôler directement.
ARCH LINUX
│
┌──────────┼──────────┐
│ │ │
pacman systemd Linux
│ │ │
packages services kernel
│ │ │
└──────────┼──────────┘
│
USER SPACE
Cette approche est particulièrement intéressante pour apprendre l’administration Linux.
15 // Arch pour apprendre la cybersécurité
Link to heading
Arch n’est pas une distribution dédiée au pentesting comme Kali Linux.
Et c’est justement une distinction importante.
Kali fournit un environnement spécialisé avec de nombreux outils de sécurité.
Arch, lui, permet de construire son environnement et d’installer uniquement les composants nécessaires.
On peut donc l’utiliser comme laboratoire pour apprendre :
- Linux ;
- réseau ;
- administration système ;
- scripting ;
- services ;
- sécurité ;
- compilation ;
- gestion des paquets.
L’objectif n’est pas d’avoir le plus grand nombre d’outils.
L’objectif est de comprendre ce que fait chaque outil.
16 // Les commandes à retenir
Link to heading
pacman → gestion des paquets
yay → gestion AUR
pwd → répertoire courant
ls → fichiers
cd → navigation
mkdir → créer
cp → copier
mv → déplacer
rm → supprimer
grep → rechercher
find → rechercher des fichiers
cat → lire
systemctl → services
journalctl → logs
ip → réseau
ss → sockets
nmcli → NetworkManager
ps → processus
top → surveillance
whoami → utilisateur
groups → groupes
sudo → privilèges
chmod → permissions
chown → propriétaire
17 // La vraie compétence
Link to heading
Apprendre Arch Linux ne consiste pas à mémoriser des commandes spécifiques.
Il faut comprendre les relations entre les composants :
PACKAGE
↓
SERVICE
↓
PROCESS
↓
NETWORK
↓
LOGS
↓
PERMISSIONS
Une fois cette logique comprise, passer d’Arch à Debian, Ubuntu, openSUSE ou Fedora devient beaucoup plus simple.
┌──────────────────────────────────────┐
│ GREY-X │
│ │
│ ARCH LINUX // LAB │
│ │
│ LEARN → BUILD → TEST → SECURE │
└──────────────────────────────────────┘
Une bonne maîtrise de Linux commence lorsque l’on comprend ce que l’on configure, et pas seulement les commandes que l’on tape.