---
name: "posix1e"
section: "3"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["freebsd"]
url: "https://new.carta.tech/posix1e"
---

# posix1e(3)

introduction to the POSIX.1e security API

## NAME

**posix1e** – introduction to the POSIX.1e security API

## LIBRARY

Standard C Library (libc, -lc)

## SYNOPSIS

**#include \<sys/types.h\>**

**#include \<sys/acl.h\>**

**#include \<sys/mac.h\>**

## DESCRIPTION

POSIX.1e describes five security extensions to the POSIX.1 API: Access Control Lists (ACLs), Auditing, Capabilities, Mandatory Access Control, and Information Flow Labels. While IEEE POSIX.1e D17 specification has not been standardized, several of its interfaces are widely used.

FreeBSD implements POSIX.1e interface for access control lists, described in [acl(3)](/acl/3.md), and supports ACLs on the [ffs(4)](/ffs/4.md) file system; ACLs must be administratively enabled using [tunefs(8)](/tunefs/8.md).

FreeBSD implements a POSIX.1e-like mandatory access control interface, described in [mac(3)](/mac/3.md), although with a number of extensions and important semantic differences.

FreeBSD does not implement the POSIX.1e audit, privilege (capability), or information flow label APIs. However, FreeBSD does implement the [libbsm(3)](/libbsm/3.md) audit API. It also provides [capsicum(4)](/capsicum/4.md), a lightweight OS capability and sandbox framework implementing a hybrid capability system model.

## 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; for files, they are stored in extended attributes, described in [extattr(3)](/extattr/3.md).

POSIX.2c describes a set of userland utilities for manipulating these attributes, including [getfacl(1)](/getfacl/1.md) and [setfacl(1)](/setfacl/1.md) for access control lists, and [getfmac(8)](/getfmac/8.md) and [setfmac(8)](/setfmac/8.md) for mandatory access control labels.

## SEE ALSO

[getfacl(1)](/getfacl/1.md), [setfacl(1)](/setfacl/1.md), [extattr(2)](/extattr/2.md), [acl(3)](/acl/3.md), [extattr(3)](/extattr/3.md), [libbsm(3)](/libbsm/3.md), [libcasper(3)](/libcasper/3.md), [mac(3)](/mac/3.md), [capsicum(4)](/capsicum/4.md), [ffs(4)](/ffs/4.md), [getfmac(8)](/getfmac/8.md), [setfmac(8)](/setfmac/8.md), [tunefs(8)](/tunefs/8.md), [acl(9)](/acl/9.md), [extattr(9)](/extattr/9.md), [mac(9)](/mac/9.md)

## STANDARDS

POSIX.1e is described in IEEE POSIX.1e draft 17.

## HISTORY

POSIX.1e support was introduced in FreeBSD 4.0; most features were available as of FreeBSD 5.0.

## AUTHORS

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