Existe-t-il une commande comme namei pour OS X?

10

Je passe en revue certains problèmes d'autorisation incorrects et j'ai découvert la commande namei pour Linux. Homebrew n'a actuellement pas de port Mac.

namei - suivre un chemin jusqu'à ce qu'un point terminal soit trouvé

Existe-t-il une commande ou une série de commandes qui peuvent être utilisées pour accomplir la même chose sous OS X?

phatblat
la source

Réponses:

7

Vous pouvez télécharger le code source nameide SourceForge . Pour compiler, vous devez supprimer la #include <sys/sysmacros.h>ligne stat.c, puis exécuter make.

Tata Dias
la source
Merci, je ne savais pas que la version dans util-linux était basée sur celle de SourceForge. J'ai finalement compris comment compiler l'util-linux, mais il est livré avec de nombreux autres utilitaires, dont beaucoup sont redondants sous OS X. Quoi qu'il en soit, consultez ma réponse mise à jour pour la formule homebrew de l'original. Attention, l'installation à partir de la source avec make installpeut provoquer des problèmes si /usr/local/bin' is ahead of / usr / bin` dans votre PATH lors de l'installation avec un lien fixe stat. La formule évite cela et s'installe uniquement sous namei.
Michael DM Dryden
6

Macports en a un port: https://trac.macports.org/browser/trunk/dports/devel/util-linux/Portfile

J'ai essayé de faire une recette homebrew pour cela, mais il y avait des problèmes pour la compiler. C'est certainement possible, mais il y a des problèmes à régler.

Mise à jour :

J'ai fait une formule qui peut être installée avec:

brew install mkdryden/homebrew-misc/namei

Ceci est la version originale, pas la version tirée dans util-linux. (je ne sais pas combien a changé depuis l'original)

Michael DM Dryden
la source
Pas un expert en homebrew, mais cela utilise-t-il le fichier sur github.com/mkdryden/homebrew-misc/blob/master/Formula/namei.rb ?
mwfearnley
@mwfearnley Oui, c'est le fichier de recette. Vous pouvez le regarder pour voir le patch que j'ai dû faire pour le compiler, bien qu'il y ait 5 ans; Je ne sais pas si cela fonctionne toujours correctement.
Michael DM Dryden
Merci, cela a fonctionné pour moi hier :)
mwfearnley
-2

J'ai trouvé que c'était une solution possible:

ls -l /path/to/directory
Craig Wayne
la source
1
Cela ne montre que la première couche de liens symboliques, pas toute la chaîne de liens symboliques.
Jose Alban