POSIX1E(3)

πŸ“¦
version 15.1 Β· 2 versions
, in freebsd 15.1

πŸ’… posix1e(3) β€” your lil intro to the POSIX.1e security API

okay so picture this: it's section 3 of the manual (the library functions zone, bestie), and this page is basically the meet the whole friend group episode for POSIX.1e security stuff. let's get into it πŸ’–

✨ LIBRARY ✨

Standard C Library β€” libc, -lc. the OG, the moment, the main character of linking.

πŸŽ€ SYNOPSIS πŸŽ€

#include <sys/types.h>
#include <sys/acl.h>
#include <sys/mac.h>

like, include these three and you're seated with the cool kids 🫢

🌸 DESCRIPTION 🌸

so POSIX.1e is out here describing five security extensions to the POSIX.1 API, and honestly it's giving a whole squad:

  • Access Control Lists, aka ACLs
  • Auditing
  • Capabilities
  • Mandatory Access Control
  • Information Flow Labels

now here's the tea 🍡 the IEEE POSIX.1e D17 specification has not been standardized β€” nope, never made it official β€” but several of its interfaces are widely used anyway. queen behavior tbh.

FreeBSD implements the POSIX.1e interface for access control lists, described in acl(3), and it supports ACLs on the ffs(4) file system. but heads up β€” ACLs must be administratively enabled using tunefs(8). not automatic, you gotta go turn them on yourself πŸ™ˆ

FreeBSD also implements a POSIX.1e-like mandatory access control interface, described in mac(3) β€” but with a number of extensions and important semantic differences. so like... same vibe, not identical vibes. read carefully, iykyk.

and now the sad part 😭 FreeBSD does not implement the POSIX.1e audit, privilege (capability), or information flow label APIs. RIP to those. however β€” it does implement the libbsm(3) audit API. and it also provides capsicum(4), a lightweight OS capability and sandbox framework implementing a hybrid capability system model. slay for that one πŸ”₯

πŸ¦‹ ENVIRONMENT πŸ¦‹

POSIX.1e assigns security attributes to all objects, extending the security functionality described in POSIX.1. these additional attributes store fine-grained discretionary access control information and mandatory access control labels. and for files? they're stored in extended attributes, described in extattr(3). literally the filing cabinet of the security world πŸ’…

POSIX.2c then describes a set of userland utilities for manipulating these attributes, including:

get it, set it, periodt ✨

πŸ‘‘ SEE ALSO πŸ‘‘

the whole group chat, fr fr 🫢

🌈 STANDARDS 🌈

POSIX.1e is described in IEEE POSIX.1e draft 17. that's the one. the draft. the legend. ⭐

⭐ HISTORY ⭐

POSIX.1e support was introduced in FreeBSD 4.0; most features were available as of FreeBSD 5.0. glow up timeline πŸ’œ

🧚 AUTHORS 🧚

  • Robert N M Watson
  • Chris D. Faulhaber
  • Thomas Moestl
  • Ilmar S Habibulin

icons, all of them πŸ‘‘


πŸ’– and that's the page, bestie πŸ’– this queen dropped from Debian, dated February 25, 2016 β€” we're talking POSIX1E(3), section 3, forever iconic. bye mwah πŸ’‹πŸŽ€

πŸ“¦ where this page comes from
  • freebsd 15.1: base 15.1
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms