# getcap ./some_bin ./some_bin =ep
Quel binario ha TUTTE le capacità consentite (p) ed efficaci (e) dall'inizio.
Nella rappresentazione testuale delle capacità, un protagonista =
equivale a all=
.Dal cap_to_text(3)
manpage:
Nel caso in cui l'operatore principale sia
=
, e non viene fornito alcun elenco di funzionalità, si presume che l'elenco azioni faccia riferimento a tutto capacità. Ad esempio, le seguenti tre clausole sono equivalenti tra loro (e indicano un set di capacità completamente vuoto):all=
;=
;cap_chown,<every-other-capability>=
.
Tale binario può fare tutto ciò che vuole, limitato solo dal set di limiti di capacità, che su un tipico sistema desktop include tutto (altrimenti binari setuid come su
non funzionerebbe come previsto).
Si noti che questo è solo un "gotcha" della rappresentazione testuale usata da libpcap
:nel security.capability
attributo esteso del file per il quale getcap
stamperà /file/path =ep
, tutti i bit significativi sono effettivamente on; per un vuoto security.capability
, /file/path =
(con il =
non seguito da nulla) verrà invece stampato.
Se qualcuno non è ancora convinto di tutto ciò, ecco un piccolo esperimento:
# cp /bin/ping /tmp/ping # will wipe setuid bits and extented attributes
# su user -c '/tmp/ping localhost'
ping: socket: Operation not permitted
# setcap =ep /tmp/ping
# su user -c '/tmp/ping localhost' # will work because of cap_net_raw
PING localhost(localhost (::1)) 56 data bytes
64 bytes from localhost (::1): icmp_seq=1 ttl=64 time=0.073 ms
^C
# setcap = /tmp/ping
# su user -c '/tmp/ping localhost'
ping: socket: Operation not permitted
Non è una capacità.
Significa insieme effettivo e insieme consentito.
Significa che le funzionalità verranno inserite nel set consentito (p
) e tutte le funzionalità consentite verranno copiate nel set effettivo (e
).
Il e
viene utilizzato per programmi legacy (probabilmente la maggior parte dei programmi al momento), ovvero programmi che non conoscono le funzionalità, quindi non possono copiare autonomamente le funzionalità da consentite a effettive.
Per quanto riguarda il motivo per cui esiste quello che sembra un insieme vuoto (come ha sottolineato @mosvy), gli autori della libreria hanno confuso tutto con nessuno (infinito e zero sono due dei numeri più confusi).