GNU/Linux >> Tutoriels Linux >  >> Linux

Comment chmod les fichiers en fonction des résultats de la commande find

Réfléchissez un instant à votre besoin. Avez-vous (pourriez-vous) avoir des fichiers exécutables (scripts ou binaires) dans votre arborescence de répertoires ? Si tel est le cas, souhaitez-vous supprimer l'autorisation d'exécution (même de vous-même) ou souhaitez-vous laisser l'autorisation d'exécution intacte ? Si vous souhaitez laisser l'autorisation d'exécution intacte, vous devez utiliser chmod o-w supprimer (soustraire) w permission rituelle du o autre champ uniquement.

De plus, comme le souligne Anthon, le find la commande donnée dans l'autre réponse exécute le chmod programme une fois pour chaque fichier inscriptible par tous qu'il trouve. C'est un peu plus efficace de dire

find  top-level_directory  -perm -2  -type f  -exec chmod o-w {} +

Cela exécute chmod avec plusieurs fichiers à la fois, minimisant le nombre d'execs.

PS Vous n'avez pas besoin des zéros non significatifs sur le 2 .


find /dir/stuct/path -perm -0002 -type f -exec chmod 664 {} \;

Le "{}" représente le fichier trouvé par find. La "\;" termine la commande qui doit être exécutée.


Linux
  1. Introduction à la commande Linux chmod

  2. Recherche de fichiers dans la ligne de commande (Comment faire)

  3. Comment trouver des fichiers en double sous Linux ? L'aide est ici avec la commande fdupes !

  4. Comment supprimer des fichiers de la corbeille sur Ubuntu ?

  5. Comment diriger les résultats de 'find' vers mv sous Linux

Comment rechercher des fichiers à partir de la ligne de commande Linux

Comment gérer les fichiers depuis le terminal Linux

Comment trouver des fichiers sur la ligne de commande Ubuntu

Comment rechercher des fichiers avec la commande fd sous Linux

Comment rechercher des fichiers avec des dizaines de critères avec la commande Bash Find

Comment trouver les répertoires ou fichiers les plus gourmands en espace ?