J'ai essayé pendant des heures de comprendre la syntaxe de commande pour trouver les fichiers qui se rencontraient tout de ces critères, mais je n'arrive pas à comprendre.
- l'utilisateur n'a pas lu
- l'utilisateur n'a pas d'écriture
- le groupe n'a pas lu
- le groupe n'a pas écrit
- autre n'a pas lu
- autre a ecrit
- autre a exécuter
J'ai commencé avec cela, mais cela ne trouve pas tous les fichiers attendus. Par exemple, il ne trouve pas les fichiers où l’autre a lu mais aussi s’il s’exécute.
find /path -type f \( ! -perm /u=rw,g=rw -or ! -perm /o=r \) -print
linux
permissions
find
IMTheNachoMan
la source
la source
-perm /u=rw,g=rw
vous permet d’obtenir tous les fichiers contenant l’un de ces indicateurs,!
-perm / u = rw, g = rw` vous permet d'obtenir les fichiers dans lesquels aucun de ces indicateurs n'est défini. Alors peut-être que tu veux!
-perm / u = rw, g = rw` (c'est-à-dire, pas {tous les indicateurs définis}, ce qui est identique à {au moins un indicateur non défini}.-perm -u=rw,g=rw
. Merci.Réponses:
Réponse courte
Longue réponse
Comme il semble plus facile de spécifier ce que nous voulons ( X a y permission) dans
find
, essayons de conjuguer l'expression: nous pouvons voir qu'un fichier qui devrait ne pas match a tout de ces conditions vérifiées:Alors maintenant nous avons plus a qu'auparavant (5 vs 2). J'ai écrit la commande qui trouve les fichiers que vous faites ne pas vouloir:
Pour le comprendre, vous devez faire attention au fait que
-
veux dire toutes les autorisations et/
veux dire l'une des autorisations .Puis je l'ai conjugué avec! et parenthèse pour obtenir la commande en haut de cette réponse.
Des tests
Créons des fichiers qui vérifient un seul de chacun de ces critères:
Ensuite, créons tous les fichiers qui ne doivent pas correspondre: Nous avons des libertés sur
Ce qui donne exactement 2 ^ 2 = 4 types d'autorisations complètes qui ne doivent pas correspondre. Créons 4 fichiers avec ces critères:
La commande fournie doit correspondre aux fichiers a à e mais pas aux fichiers h à k. Bien entendu, ce test n’est pas exhaustif car il existe 256 types d’autorisations à tester.
la source