Solution (source code)

= Solution

An <access control list> is attached to an object, such as a <file>, and lists which subjects or groups may perform which operations. Access requires checking the requesting identity against that object's list. A <security capability> is an unforgeable reference to an object carrying specified rights; possessing valid authority is what permits access. Protected storage or another integrity mechanism must prevent users manufacturing stronger <security capabilities>.

The traditional <Unix> owner/group/other read-write-execute permissions are a compact, restricted <access control list>: the <inode> records the owner, group and permission <bits>, and the <operating system> compares these against the caller's credentials.
$$
\boxed{\text{Traditional Unix file protection is closest to access control lists}.}
$$
An already-open <file descriptor> can behave like a limited handle carrying rights, but that does not change the identity-based nature of the initial pathname permission check.