bonjour,
est-il possible de faire une recherche de fichier en utilsant un filtre de droit ?
par exemple lister les fichiers qui sont que modifiable ou que visible ?
merci de votre aide
bonjour,
est-il possible de faire une recherche de fichier en utilsant un filtre de droit ?
par exemple lister les fichiers qui sont que modifiable ou que visible ?
merci de votre aide
Je pense que l'option -perm de la commande find peut t'aider.![]()
je ne suis pas sûr que ce soit la meilleure solution, mais tu peux lister en colones puis filtrer via grep:
L'option '-l' permet d'afficher le résultat de ls en liste avec les droits.
Code : Sélectionner tout - Visualiser dans une fenêtre à part $ls -l | grep rw-rw-rw
Pour que cela fonctionne bien, tu dois saisir les droits complets pour grep (si tu veux les fichiers qui ne sont que lisibles: grep r--r--r--; si tu rentre grep r; tu obtiendras tous les fichiers qui sont entre autre lisibles.)
ce n'est pas une vrai recherche, mais cela peut être suffisant
Attention, le [b]grep r[b] sortira aussi tous les fichiers dont le nom contient un r, et aussi tous les fichiers dont l'owner à un r dans un nom (genre root), de même pour le groupe.
Mais il est vrai que si on ne s'intéressent pas aux sous-répertoires, un grep sur ls peut suffire. Mais pour éviter les faux-positif, il faudrait toujours un masque complet pour la "chaîne de modes", et ancrer le masque au début de la ligne. Sans oublier les cas spéciaux comme les bits set-uid, set-gid et sticky-bit, qui, de plus, peuvent être mis avec ou sans les droits d'exécution associés.
Pour le coup, si on a pas d'hypothèse simplificatrice, un grep peut devenir une horreur assez rapidement.![]()
Pour n'obtenir que la colone des droits, awk semble être utile ici.
"Never use brute force in fighting an exponential." (Andrei Alexandrescu)
Mes articles dont Conseils divers sur le C++
Une très bonne doc sur le C++ (en) Why linux is better (fr)
le but final est, je pense, de récupérer au moins le nom des fichiers concernés, donc un awk, cut ou autre me semble un peu moyen.
À moins de faire la sélection des lignes dans awk.
Code : Sélectionner tout - Visualiser dans une fenêtre à part ls -l|cut -d " " -f 1
C'est ce que j'ai dit juste avant. Avec ça tu vas pouvoir facilement faire un grep, mais par la suite, c'est pas facile de savoir quel fichier concorde.![]()
Partager