SYD-SEC(1)
π NAME π
syd-sec β bestie, this little icon either prints your secure bits or runs a command with secure bits set. That's it, that's the whole vibe β¨
This one lives in the General Commands Manual, section 1, and honestly? She ate. π
πΈ SYNOPSIS πΈ
syd-sec [-ahikprsxAIKPRSX] {command [args...]}
π¦ DESCRIPTION π¦
okay so it's giving three modes, and which one you get depends on what you hand her π«Ά
- No arguments at all? She prints info on your process secure bits in compact JSON. cute, machine-readable, slay.
- No command, but you gave her one or more of the secure bit options
[-aikprsx]? Then she's in test mode β checking whether those secure bits are set. Wanna test for the locked versions instead? Use the capital letter options,[-AIKPRSX], and she'll check the locked flavor of the respective secure bits. π - A command plus arguments, with at least one of the secure bit options
[-aikprsxAIKRSX]set? She sets those securebits, executes the command, and exits with the same status. main character energy: she does the thing and then matches the exit code, no notes. π
β¨ OPTIONS β¨
-hβ Display help and exit. (the "bestie explain" button π)-p,-Pβ Set/test the processno_new_privsattribute.-r,-Rβ Set/test secure bitSECBIT_NOROOT.-s,-Sβ Set/test secure bitSECBIT_NO_SETUID_FIXUP.-k,-Kβ Set/test secure bitSECBIT_KEEP_CAPS.-a,-Aβ Set/test secure bitSECBIT_NO_CAP_AMBIENT_RAISE.-x,-Xβ Set/test secure bitSECBIT_EXEC_RESTRICT_FILE.-i,-Iβ Set/test secure bitSECBIT_EXEC_DENY_INTERACTIVE.
reminder bestie: lowercase = set/test it, uppercase = the locked version of that same bit. iykyk π
π₯ SECURE BITS π₯
the original page had a whole glam table with the columns Securebit, Description, and CAP_SETPCAP required? β here's every single row, fully served, no crumbs left behind π
β NO_NEW_PRIVS
- CAP_SETPCAP required? No.
- When set,
execve(2)will not grant new privileges (e.g., set-user-ID/set-group-ID mode bits and file capabilities are ignored). - Inherited across
fork(2),clone(2), andexecve(2). - Once set, cannot be unset. no take-backs, literally irreversible π
β NOROOT
- CAP_SETPCAP required? Yes.
- Disable special handling of UID 0 for gaining capabilities on exec/setuid.
NOROOT_LOCKEDis the lock forNOROOTβ it prevents further changes and is irreversible.
β NO_SETUID_FIXUP
- CAP_SETPCAP required? Yes.
- Stop kernel adjustments to permitted/effective/ambient capability sets when effective/filesystem UIDs toggle between 0 and nonzero.
NO_SETUID_FIXUP_LOCKEDis the lock forNO_SETUID_FIXUPβ it prevents further changes and is irreversible.
β KEEP_CAPS
- CAP_SETPCAP required? Yes.
- Allow retaining permitted capabilities when switching all UIDs from 0 to nonzero.
- Always cleared on
execve(2). KEEP_CAPS_LOCKEDis the lock forKEEP_CAPSβ it prevents further changes and is irreversible.
β NO_CAP_AMBIENT_RAISE
- CAP_SETPCAP required? Yes.
- Disallow raising ambient capabilities via
prctl(PR_CAP_AMBIENT_RAISE). NO_CAP_AMBIENT_RAISE_LOCKEDis the lock forNO_CAP_AMBIENT_RAISEβ it prevents further changes and is irreversible.
β EXEC_RESTRICT_FILE
- CAP_SETPCAP required? No.
- Interpreter/dynamic linker should execute a file only if
execveat(2)withAT_EXECVE_CHECKon the related file descriptor succeeds. EXEC_RESTRICT_FILE_LOCKEDis the lock forEXEC_RESTRICT_FILEβ it prevents further changes and is irreversible.
β EXEC_DENY_INTERACTIVE
- CAP_SETPCAP required? No.
- Interpreter should not accept interactive user commands; content via a file descriptor is allowed only if
execveat(2)withAT_EXECVE_CHECKsucceeds. EXEC_DENY_INTERACTIVE_LOCKEDis the lock forEXEC_DENY_INTERACTIVEβ it prevents further changes and is irreversible.
π¨ bestie heads up: those *_LOCKED bits are locks. Set them and the bit stays set, irreversible, forever. Please don't do that by accident on a box you care about π
π§ EXIT STATUS π§
- Querying secure bits?
syd-secexits with success if all the specified secure bits are set in the process secure bits. all of them. not some. all. π - Running a command?
syd-secexits with the same code as the child process. - If the
PR_SET_SECUREBITS(2const)prctl(2)operation fails prior to command execution,syd-secexits witherrno(3).
π SEE ALSO π
syd(1), syd(2), syd(5), syd-lock(1), syd-mdwe(1), syd-ofd(1), syd-pds(1), syd-ring(1), syd-tsc(1), PR_GET_SECUREBITS(2const), PR_SET_SECUREBITS(2const)
syd homepage: https://sydbox.exherbo.org/ π¦
π AUTHORS π
Maintained by Ali Polatel.
- Up-to-date sources can be found at
https://gitlab.exherbo.org/sydbox/sydbox.git - ...and on Radicle at
rad:z38HCnbmcDegA2BMxuPaPRPMdp6wF - Bugs/patches can be submitted to
https://gitlab.exherbo.org/groups/sydbox/-/issues - Come discuss in
#sydboxon Libera Chat, or in#sydbox:mailstation.deon Matrix π¬
mwah, that's the whole page bestie π This edition of the General Commands Manual entry for SYD-SEC(1) is dated 2026-09-01 β go forth and set your secure bits responsibly, periodt. π
π¦ where this page comes from
- arch rolling: syd 3.59.0-1 Β· GPL-3.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms