Sécurité et Permissions de Fichiers sous Linux

Comprendre la Sécurité Linux

Cette section couvre les aspects de sécurité fondamentaux de Linux, notamment les fichiers /etc/passwd et /etc/shadow.

Fichier /etc/passwd

# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash

Chaque ligne du fichier /etc/passwd contient les informations suivantes:

  • Nom d'utilisateur
  • Mot de passe (généralement crypté)
  • ID utilisateur (UID)
  • ID du groupe principal (GID)
  • Description de l'utilisateur
  • Répertoire personnel
  • Shell par défaut

Fichier /etc/shadow

rich:$1$.FfcK0ns$f1UgiyHQ25wrB/hykCn020:11627:0:99999:7:::

Chaque entrée dans le fichier /etc/shadow est composée de 9 champs:

  • Nom d'utilisateur
  • Mot de passe crypté
  • Jours depuis 1970 jusqu'à la dernière modification du mot de passe
  • Jours avant que le mot de passe ne puisse être modifié
  • Jours après lesquels le mot de passe doit être modifié
  • Jours avant l'expiration du mot de passe pour avertir l'utilisateur
  • Jours après l'expiration du mot de passe avant la désactivation du compte
  • Date d'expiration du compte (en jours depuis 1970)
  • Champ réservé pour des usages futurs

Gestion des Utilisateurs

Ajout d'un Nouvel Utilisateur

L'outil principal pour ajouter un nouvel utilisateur est useradd. Il crée le compte utilisateur et configure le répertoire personnel selon des valeurs par défaut définies dans /etc/default/useradd.

# /usr/sbin/useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

Paramètres de useradd

Option Description
-c commentaire Ajoute une description pour le nouvel utilisateur
-d répertoire_personnel Définit le nom du répertoire personnel
-e date_expiration Date d'expiration du compte (format AAAA-MM-JJ)
-f jours_inactivité Jours d'inactivité après expiration du mot de passe
-g groupe_initial Définit le groupe principal par son GID ou son nom
-G groupe,... Ajoute des groupes supplémentaires
-k Copie le contenu de /etc/skel vers le répertoire personnel (utilisé avec -m)
-m Crée le répertoire personnel
-M Ne crée pas le répertoire personnel (si la création est demandée par défaut)
-n Crée un nouveau groupe portant le même nom que le nom d'utilisateur
-r Crée un compte système
-p mot_de_passe Définit un mot de passe par défaut
-s shell Définit le shell par défaut
-u UID Définit un UID unique

Suppression d'un Utilisateur

Par défaut, userdel supprime uniquement les informations du fichier /etc/passwd. Avec l'option -r, il supprime également le répertoire personnel et le répertoire de messagerie.

Modification d'un Utilisateur

Commande Description
usermod Modifie les attributs du compte utilisateur
passwd Modifie le mot de passe
chpasswd Lit des paires nom/mot de passe à partir d'un fichier et met à jour les mots de passe
chage Modifie les dates d'expiration du mot de passe
chfn Modifie les informations du compte utilisateur
chsh Modifie le shell par défaut

Gestion des Groupes

Ajout d'un Nouveau Groupe

La commande groupadd crée de nouveaux groupes. Pour ajouter des utilisateurs, utilisez usermod.

Modification d'un Groupe

La commande groupmod permet de modifier le GID ou le nom d'un groupe existant.

Gestion des Permissions de Fichiers

Définition des Permissions Par Défaut

La commande umask définit les perimssions par défaut pour les nouveaux fichiers et répertoires.

# umask 022; touch fichier8
# ll
-rw-r--r-- 1 root root 0 24 avr 15:41 fichier8

Pour un répertoire:

# umask 026; mkdir dossier_test5
# ll
drwxr-x--x 2 root root 4096 24 avr 15:43 dossier_test5

Modification des Permissions

Utilisez chmod pour changer les permissions d'un fichier ou d'un répertoire.

chmod options mode fichier

Modification des Propriétaires

Les commandes chown et chgrp permettent de modifier le propriétaire et le groupe par défaut d'un fichier.

chown options proprietaire[.groupe] fichier

Partage de Fichiers

Pour faciliter le partage de fichiers entre utilisateurs, Linux utilise des bits spéciaux:

  • SUID: Le programme s'exécute avec les permissions du propriétaire du fichier.
  • SGID: Pour les fichiers, le programme s'exécute avec les permissions du groupe du fichier; pour les répertoires, les nouveaux fichiers héritent du groupe par défaut.
  • Sticky Bit: Les fichiers restent dans la mémoire après la fin du processus.

Activer le bit SGID sur un répertoire force les nouveaux fichiers à hériter du groupe du répertoire:

$ mkdir testdir
$ chgrp groupe_partagé testdir
$ chmod g+s testdir
$ touch testdir/fichier_test
$ ls -l testdir/fichier_test
-rw-rw-r-- 1 utilisateur groupe_partagé 0 20 sep 23:13 testdir/fichier_test

Étiquettes: Linux permissions fichiers utilisateurs groupes

Publié le 2 septembre à 04h24