Perché getfacl rimuove i nomi principali / assoluti?


10

Sto imparando a conoscere gli ACL per CentOS / Red Hat 6; quando corro getfaclusando un percorso assoluto, ottengo tra l'output:

getfacl: rimozione dell'inizio '/' dai nomi di percorso assoluti

Perché deve farlo? In quali situazioni dovresti utilizzare l' opzione -po --absolute-names?

I miei libri di Wale Soyinka e Michael Jang non ne fanno neppure un accenno, non vedo alcun indizio nella pagina man e non riesco a trovare alcun sito che risponda direttamente a questo avvertimento.



Grazie per avermi aiutato a esaminarlo e per il link. Le mie capacità di programmazione sono un po 'rudimentali al momento, ma ho salvato il file per quando comincio ad affrontare C / C ++ con il mio libro Gaddis.
Seananigans,

Risposte:


6

Dalla pagina man di getfacl:

-p, --absolute-names
       Do not strip leading slash characters (`/'). The  default  behavior
       is to strip leading slash characters.

Un messaggio di avviso viene emesso quando si fornisce il percorso assoluto senza utilizzare l' -pinterruttore.

Le uscite sono diverse quando viene dato il percorso assoluto al getfaclcomando.

Senza -pinterruttore:

$ getfacl /path/foo/bar
getfacl: Removing leading '/' from absolute path names
# file: path/foo/bar
[Output truncated...]

Si noti che la barra iniziale nel percorso del file viene visualizzata solo quando -psi utilizza switch.

$ getfacl -p /path/foo/bar
# file: /path/foo/bar
[Output truncated...]

-p è utile per mantenere la barra iniziale quando si esegue il piping dell'output per ulteriori elaborazioni.

Gli output sono gli stessi quando viene dato il percorso relativo al getfaclcomando.

$ getfacl bar
# file: bar
[Output truncated...]

Nessun cambiamento:

$ getfacl -p bar
# file: bar
[Output truncated...]

Perdonami, dato che sono relativamente nuovo su Linux, ma questo sembra uno switch abbastanza superfluo, dal momento che se stavi eseguendo il piping dell'output su un altro programma, dovresti comunque modificare lo stream per afferrare quella sezione dell'output nel primo posto, ho ragione? Quale sarebbe un caso di esempio in cui sarebbe utile eliminare la barra iniziale? Dal momento che è un percorso assoluto, in primo luogo sembra leggermente sciocco spogliarlo.
Seananigans,

2
In altre distro (es. FreeBSD), questo interruttore non esiste. Visualizzando l'origine del pacchetto acl RHEL, sembra che --absolute-namessi occupi solo della stringa di output - "# file:", ma non della logica dietro. All'inizio credo che potrebbe essere una funzionalità di sicurezza. Tuttavia, l'interruttore non esiste in setfacl. La mia ultima ipotesi è che l'autore vorrebbe simulare il tarcomportamento anche se l' -putilizzo dell'opzione switch getfaclpotrebbe essere inutile.
Ivan Chau,

9
Questo non risponde al perché però. Perché le barre iniziali vengono eliminate per impostazione predefinita, in che modo può mai essere utile?
Segfault,
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.