Quando si utilizza setcap, dove è memorizzata l'autorizzazione?


11

L'utilizzo setcapdi autorizzazioni aggiuntive per un file binario dovrebbe scrivere la nuova autorizzazione da qualche parte, in memoria o in memoria, dove è archiviata?

L'uso così lsofcom'è non funziona perché il processo scompare troppo rapidamente.


Usa un altro processo. Fai una copia di /usr/bin/sleepe dai le capacità a questa copia.
Hauke ​​Laging,

Risposte:


9

Le autorizzazioni estese come gli elenchi di controllo di accesso impostati da setfacle i flag di capacità impostati da setcapvengono memorizzati nello stesso posto delle autorizzazioni tradizionali e impostano i flag [ug] id impostati da chmod: nell'inode del file.

(Possono effettivamente essere archiviati in un blocco separato sul disco, perché un inode ha una dimensione fissa che ha spazio per i bit di autorizzazione tradizionali ma non per le autorizzazioni estese potenzialmente illimitate. Ma questo è importante solo in rari casi, come dover attenzione che setcappotrebbe esaurire lo spazio su disco. Ma chmodpotrebbe anche esaurire lo spazio su disco in un sistema che utilizza la deduplicazione!)

GNU ls non visualizza gli attributi setcap di un file. Puoi visualizzarli con getcap. Puoi elencare tutti gli attributi estesi con getfattr -d -m -; l'attributo setcap viene chiamato security.capabilityed è codificato in un formato binario che getcapdecodifica per te.


4

setcap imposta le capacità dei file che sono archiviate nell'attributo esteso del filesystem. Questi sono spiegati in man 7 capabilities:

I set di funzionalità del file sono memorizzati in un attributo esteso (vedere setxattr (2)) denominato security.capability.

È possibile controllare le capacità di un processo in esecuzione esaminando i campi CapInh / CapPrm / CapEff in /proc/PID/status. Vedi la mia risposta a " Come impostare le capacità con il comando setcap? " Per una spiegazione su come le capacità vengono applicate al processo in exec.


capsh --decode = potrebbe tornare utile per ottenere dati leggibili dall'uomo.
Zulgrib,
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.