Comment verrouiller des fichiers pour les renommer ou les supprimer sous Linux
Si vous avez déjà travaillé avec des fichiers sensibles sous Linux, vous auriez peut-être voulu empêcher les autres (ou même vous-même) de les renommer ou de les supprimer accidentellement. Heureusement, Linux fournit quelques méthodes pour « verrouiller » un fichier, en s’assurant qu’il reste à l’abri des modifications indésirables.
Dans ce guide, nous allons vous montrer comment verrouiller un fichier pour éviter de le renommer ou de le supprimer à l’aide de commandes simples et d’outils disponibles sous Linux. Nous présenterons également un exemple pour illustrer chaque méthode.
Supposons que nous ayons un fichier appelé important.txt
situé dans le répertoire /home/user/
, et que nous voulons protéger ce fichier contre le renommage ou la suppression.
Méthode 1 : Utiliser chattr pour rendre un fichier immuable
L’un des moyens les plus simples et les plus efficaces de protéger un fichier contre le renommage ou la suppression consiste à utiliser la commande chattr, qui modifie les attributs de fichier sous Linux.
Tout d’abord, vérifions les attributs de important.txt
à l’aide de la commande lsattr
qui listera les attributs des fichiers et des répertoires :
lsattr /home/user/important.txt
Si le fichier n’est pas verrouillé, vous ne devriez rien voir ou juste -
dans la sortie.
Pour rendre important.txt
immuable (impossible de le renommer ou de le supprimer), exécutez la commande suivante :
sudo chattr +i /home/user/important.txt
lsattr /home/user/important.txt
Maintenant, vous devriez voir un i
dans la sortie à côté du nom du fichier, indiquant qu’il est verrouillé.
Toute tentative de renommage ou de suppression du fichier échoue désormais.
mv /home/user/important.txt /home/user/important_backup.txt
De même, si vous essayez de supprimer le fichier.
rm /home/user/important.txt
Vous obtiendrez un message d’erreur indiquant « Opération non autorisée ».
Pour supprimer l’immuabilité et autoriser les modifications apportées au fichier, utilisez :
sudo chattr -i /home/user/important.txt
Maintenant, vous pouvez renommer ou supprimer le fichier comme d’habitude.
Méthode 2 : Utilisation des autorisations de fichier pour restreindre la suppression
Une autre façon d’empêcher la suppression de fichiers consiste à modifier les autorisations du fichier à l’aide de la commande chmod
, qui définit les autorisations qui rendent un fichier illisible ou non modifiable par d’autres utilisateurs.
Pour empêcher tout le monde (y compris vous-même) de supprimer ou de modifier le fichier, utilisez :
chmod a-w /home/user/important.txt
Vous pouvez vérifier les autorisations du fichier avec :
ls -l /home/user/important.txt
Vous devriez voir quelque chose comme ceci, où la permission w
(écriture) a été supprimée, ce qui indique que personne ne peut modifier ou supprimer le fichier.
Pour vous permettre de supprimer ou de modifier à nouveau le fichier :
chmod +w /home/user/important.txt
Méthode 3 : Utilisation de chown pour changer de propriétaire
Si vous êtes la seule personne à pouvoir modifier ou supprimer le fichier, vous pouvez en modifier la propriété.
sudo chown yourusername:yourgroup /home/user/important.txt
Remplacez votre nom d’utilisateur
et votre groupe
par votre nom d’utilisateur et votre groupe réels.
Maintenant, vous pouvez vérifier le propriétaire et le groupe du fichier avec :
ls -l /home/user/important.txt
Vous devriez voir quelque chose comme :
-r--r--r-- 1 yourusername yourgroup 0 Feb 3 10:00 /home/user/important.txt
Désormais, vous seul pouvez modifier ou supprimer le fichier.
Conclusion
Le verrouillage d’un fichier sous Linux peut aider à prévenir les modifications accidentelles telles que le renommage ou la suppression, ce qui est particulièrement utile lorsqu’il s’agit de fichiers importants.
Les méthodes dont nous avons discuté - utiliser chattr
pour rendre un fichier immuable, ajuster les autorisations de fichier et changer la propriété d’un fichier - sont faciles à utiliser et peuvent fournir la sécurité dont vous avez besoin.