capable.bt(8)
π capable.bt(8) β the vibe check for kernel capability checks
okay bestie, pull up a chair because this is from the System Manager's Manual and it's genuinely iconic. welcome to capable.bt, section 8, the one and only. π«Ά
β¨ NAME β¨
capable.bt β trace security capability checks, aka cap_capable(). that's it, that's the whole job, and she does it flawlessly. π
πΈ SYNOPSIS πΈ
capable.bt
no flags, no arguments, no drama. she just goes. periodt.
π¦ DESCRIPTION π¦
so basically this traces security capability checks inside the kernel and prints the deets for every single call. it's giving observability. it's giving receipts.
it's lowkey useful for general debugging, and highkey useful for security enforcement β like, you can literally figure out a white list of the capabilities an application actually needs. yes bestie, we're doing least privilege today. π
β οΈ and because this uses BPF, only the root user can run this tool. sorry to the non-root girlies, that's just the rules. π
π REQUIREMENTS π
CONFIG_BPFbpftrace
that's the whole list. go check them before you come crying to me. π
π₯ EXAMPLES π₯
trace all capability checks system-wide, chef's kiss, no filter, main character energy:
# capable.bt
β FIELDS β
every column, explained, because i love you:
TIME(s)β time of the capability check, formattedHH:MM:SS.UIDβ user ID.PIDβ process ID.COMMβ process name.CAPβ capability number.NAMEβ capability name. peepcapabilities(7)for descriptions, iykyk.AUDITβ whether this was an audit event.
π§ OVERHEAD π§
this adds low-overhead instrumentation to capability checks, and capability checks are expected to be low frequency⦠however, that depends on the application. so like, it could be a chill vibe or it could be a lot. don't guess.
π¨ test in a lab environment before use. fr fr. not in prod, bestie, i'm begging you.
π SOURCE π
this one's from bpftrace:
https://github.com/bpftrace/bpftrace
also, look in the bpftrace distribution for a companion _examples.txt file β it's got example usage, output, and commentary for this tool. free lore. πβ¨
and plot twist: this is a bpftrace version of the bcc tool of the same name. the bcc tool provides options to customize the output, so if you want knobs to twiddle, that's your girl:
https://github.com/iovisor/bcc
π OS π
Linux β as always. π§
π STABILITY π
Unstable - in development. she's still growing, she's still evolving, treat her with grace. π
π AUTHOR π
Brendan Gregg β absolute legend, we stan.
πΈ SEE ALSO πΈ
okay that's the whole page, you're officially educated, go trace something and slay. π
this cutie came out of USER COMMANDS and was dated 2018-09-08, and it lives at capable.bt(8) β mwah, bye bestie! πβ¨
π¦ where this page comes from
- alpine 3.24: bpftrace-tools-doc 0.26.1-r0 Β· Apache-2.0
- arch rolling: bpftrace 0.27.0-2 Β· Apache-2.0
- centos-stream 10: bpftrace 0.26.1-1.el10 Β· Apache-2.0
- centos-stream 9: bpftrace 0.26.1-1.el9 Β· ASL 2.0
- nixos 26.05: bpftrace 0.25.1
- nixpkgs unstable: bpftrace 0.27.1
- ubuntu resolute: bpftrace 0.25.0-1ubuntu1 Β· Apache-2.0
- ubuntu stonking: bpftrace 0.25.0-1ubuntu2 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms