Esiste un comando come namei per OS X?


10

Sto esaminando alcuni problemi di autorizzazione errati e ho scoperto il comando namei per Linux. Homebrew non ha attualmente una porta per Mac.

namei: seguire un percorso fino a quando non viene trovato un punto terminale

Esiste un comando o una serie di comandi che possono essere utilizzati per eseguire la stessa cosa su OS X?

Risposte:


7

Puoi scaricare il codice sorgente nameida SourceForge . Per compilare, è necessario eliminare la #include <sys/sysmacros.h>riga da stat.c, quindi eseguire make.


Grazie, non sapevo che la versione in util-linux fosse basata su quella di SourceForge. Alla fine ho capito come compilare util-linux, ma viene fornito con molte altre utility, molte delle quali sono ridondanti su OS X. Comunque, vedi la mia risposta aggiornata per la formula homebrew dell'originale. Attenzione, l'installazione da sorgente con make installpuò causare problemi se /usr/local/bin' is ahead of / usr / bin` nel tuo PERCORSO durante l'installazione su hardlink stat. La formula evita questo e si installa solo sotto namei.
Michael DM Dryden,

6

Macports ne ha una porta: https://trac.macports.org/browser/trunk/dports/devel/util-linux/Portfile

Ho provato a fare una ricetta homebrew per questo, ma c'erano alcuni problemi a farlo compilare. È sicuramente possibile, ma ci sono alcuni problemi da risolvere.

Aggiornamento :

Ho creato una formula che può essere installata con:

brew install mkdryden/homebrew-misc/namei

Questa è la versione originale, non la versione estratta in util-linux. (non sono sicuro di quanto sia cambiato rispetto all'originale)


Non è un esperto homebrew, ma utilizza il file su github.com/mkdryden/homebrew-misc/blob/master/Formula/namei.rb ?
mwfearnley,

@mwfearnley Sì, questo è il file della ricetta. Puoi guardarlo per vedere la patch che ho dovuto fare per farlo compilare, sebbene fosse 5 anni fa; Non sono sicuro che funzioni ancora correttamente.
Michael DM Dryden,

Grazie, ha funzionato per me ieri :)
mwfearnley,

-2

Ho trovato che questa è una possibile soluzione:

ls -l /path/to/directory

1
Questo mostra solo il primo livello di collegamento simbolico, non l'intera catena di collegamenti simbolici.
Jose Alban,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.