Il y a une commande, je pense qu'elle vient avec apache, ou est en quelque sorte liée à elle, qui vérifie les autorisations, tout le long. Donc , si je /home/foo/bar/baz
ne me dira ce que les autorisations sont pour baz
, bar
, foo
et home
. Quelqu'un sait-il ce qu'est cette commande ou une autre façon de le faire? La commande commence essentiellement à l'argument et fonctionne jusqu'à /
vous faire savoir quelles sont les autorisations en cours de route afin que vous puissiez voir si vous avez un problème d'autorisation.
la source
namei -l $PWD/public_html/
De votre répertoire actuel us $ PWD pour obtenir la liste des perms jusqu'à votre répertoire actuel.Je ne connais aucune commande, mais il est assez facile d'écrire un script:
Exemple:
la source
Que diriez-vous d'une fonction bash récursive pour une solution amusante:
la source
cd .. >/dev/null
que pour ceux d' entre nous avec un$CDPATH
ensemble ( ce qui provoque la sortie du cd répertoire courant quand il est utilisé et qui interfère avec la sortie de votre fonction.)Je pense que la commande que vous recherchez est:
qui, lorsqu'il est exécuté dans / tmp / foo / bar, vous donne une liste comme:
la source
Cela pourrait facilement être réalisé en une doublure. Ce n'est pas récursif et devrait être un moyen relativement rapide de le faire en bash. Appeler pwd dans chaque boucle n'est pas particulièrement rapide, alors évitez si vous le pouvez.
Alternative, une ligne pour le répertoire actuel.
la source
set -f
désactiver la globalisation.cd -P
suit tous les liens symboliques.alternativement, envisagez d'utiliser
find
avectac
la source