Introduction aux commandes du terminal | macOS/Linux/bash | gCKn 2018
Table des matières:
Linux est un système multi-utilisateurs, et l'accès aux fichiers est contrôlé via les autorisations, les attributs et la propriété des fichiers. Cela garantit que seuls les utilisateurs et processus autorisés peuvent accéder aux fichiers et aux répertoires.
Pour plus d'informations sur les autorisations de fichiers, voir «Commande Umask sous Linux»., nous expliquerons comment modifier récursivement les autorisations des fichiers et des répertoires.
Chmod récursif
La commande
chmod
vous permet de modifier les autorisations des fichiers en utilisant le mode symbolique ou numérique.
Pour opérer récursivement 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 DIRECTORY
Par exemple, pour changer les autorisations de tous les fichiers et sous-répertoires du répertoire
/var/www/html
en
755
vous utiliseriez:
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
Seuls root, le propriétaire du fichier ou l'utilisateur disposant des privilèges
sudo
peuvent modifier les autorisations d'un fichier. Soyez extrêmement prudent lorsque vous modifiez récursivement les autorisations des fichiers.
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 l'autorisation d'exécution, tandis que vous devez définir des autorisations d'exécution sur les répertoires pour les modifier.
Le scénario le plus courant consiste à modifier récursivement les autorisations du fichier de site Web en
644
et celles 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 d -print0 | xargs -0 chmod 755
find /var/www/html -type f -print0 | xargs -0 chmod 644
find /var/www/html -type f -print0 | xargs -0 chmod 644
Conclusion
La commande
chmod
avec les options
-R
vous permet de modifier récursivement les autorisations du fichier.
Pour définir récursivement les autorisations des fichiers en fonction de leur type, utilisez
chmod
en combinaison avec la commande
find
.
Impossible de modifier les autorisations de fichier ou de dossier dans Windows
Si vous ne pouvez pas ou ne pouvez pas modifier les autorisations de fichier ou de dossier dans Windows 10/8 / 7 / Vista, lisez cet article pour résoudre ce problème.
Utiliser les autorisations Time Machine pour supprimer les erreurs Accès refusé au fichier
Autorisations Time Machine vous permet de supprimer l`accès au fichier refusé ou Accès est refusé Message d`erreur lorsque vous ouvrez un fichier, un dossier ou une clé de registre dans Windows.
Comment modifier les autorisations spécifiques des applications modernes dans Windows 8
Découvrez comment modifier les autorisations spécifiques des applications modernes dans Windows 8.