cClaude.rocks ☕ Le blog

[Nouvelles technologies, sciences et coups de gueule…]

Menu

Attention la manipulation de la commande chmod en récursif est une opération dangereuse.

Soyez très prudent lorsque vous modifiez de manière récursive les autorisations des fichiers ou des répertoires

Sous Linux lorsque vous essayez de créer ou de modifier un fichier et que vous obtenez une erreur du type « Autorisation refusée », en règle générale, cela indique un problème lié à des autorisations insuffisantes.

Ces problèmes peuvent être résolus en corrigeant les autorisations des répertoires ou des fichiers.

Linux est un système multi-utilisateur et l’accès aux fichiers est contrôlé via des attributs de fichiers. Cela garantit que seuls les utilisateurs et processus autorisés puissent accéder aux fichiers et aux répertoires.

Pour plus d’informations sur les autorisations de fichiers, consultez la documentation sur umask.

man umask

ඏ

Voici comment modifier de manière récursive les autorisations des fichiers et des répertoires.

Attention la manipulation de la commande chmod en récursif est une opération dangereuse.

Soyez très prudent lorsque vous modifiez de manière récursive les autorisations des fichiers ou des répertoires

Chmod récursif

La commande chmod vous permet de modifier les permissions des fichiers en utilisant le mode symbolique ou numérique.

Pour opérer de manière récursive sur tous les fichiers et répertoires d’un répertoire donné, utilisez la commande chmod avec l’option -R (--recursive).

La syntaxe générale pour modifier récursivement les autorisations du fichier est la suivante :

chmod -R MODE RÉPERTOIRE

Par exemple, pour modifier les autorisations de tous les fichiers et sous-répertoires du répertoire /var/www/html en 755, vous utiliserez :

chmod -R 755 /var/www/html

Le mode peut également être spécifié à l’aide de la méthode symbolique :

chmod -R u=rwx,go=rx /var/www/html

Attention, l’exemple donné est un cas facile. Le dossier dont on parle appartement généralement à l’utilisateur root et ne contenant pas de fichier exécutable. Le cas général n’est pratiquement pas traitable de manière automatique.

Dans note cas seul root, le propriétaire du fichier ou l’utilisateur avec des privilèges sudo peuvent modifier les autorisations d’un fichier.

Attention la manipulation de la commande chmod en récursif est une opération dangereuse.

Soyez très prudent lorsque vous modifiez de manière récursive les autorisations des fichiers ou des répertoires


ඏ

Utilisation de la commande find

En général, les fichiers et répertoires ne doivent pas avoir les mêmes autorisations. La plupart des fichiers ne nécessitent pas d’autorisation d’exécution, alors que vous devez définir des autorisations d’exécution sur les répertoires pour pouvoir y accéder.

Le scénario le plus courant consiste à modifier de manière récursive les autorisations du fichier du site Web en 644 et les autorisations du répertoire en 755.

En utilisant la méthode numérique :

find /var/www/html -type d -exec chmod 755 {} \;
find /var/www/html -type f -exec chmod 644 {} \;

En utilisant la méthode symbolique :

find /var/www/html -type d -exec chmod u=rwx,go=rx {} \;
find /var/www/html -type f -exec chmod u=rw,go=r {} \;

La commande find recherche des fichiers ou des répertoires sous /var/www/html et transmet chaque fichier ou répertoire trouvé à la commande chmod pour définir les autorisations.

Lorsque vous utilisez find avec -exec, la commande chmod est exécutée pour chaque entrée trouvée. Utilisez la commande xargs pour accélérer l’opération en passant plusieurs entrées à la fois :

find /var/www/html -type d -print0 | xargs -0 chmod 755
find /var/www/html -type f -print0 | xargs -0 chmod 644

Attention la manipulation de la commande chmod en récursif est une opération dangereuse.

Soyez très prudent lorsque vous modifiez de manière récursive les autorisations des fichiers ou des répertoires

ᦿ


ℹ 2006 - 2021 | 🏠 Retour à l'accueil du domaine | 🏡 Retour à l'accueil du blog