/faɪl pərˈmɪʃənz/

noun — “the rules that decide who gets to peek, poke, or completely wreck your files.”

File Permissions are a set of rules in operating systems that control access to files and directories. They define what actions users or processes can perform, typically categorized as read, write, and execute. In Unix-like systems, permissions are represented for three classes: the file owner, the group, and others. Each class has a combination of bits that encode these rights, often displayed symbolically with letters like r (read), w (write), and x (execute) or numerically in octal form, such as 0755.

In practical terms, understanding file permissions is crucial for system administration, security, and collaborative work. Incorrect permissions can lock you out of your own files or leave sensitive data exposed to others. Permissions interact with concepts like I/O Streams because reading, writing, and executing operations are the fundamental actions controlled by these rules. They also tie into standardization practices, ensuring predictable and secure behavior across different systems.

On Unix-like systems, permissions can be modified using commands like chmod for changing mode, chown for changing ownership, and chgrp for changing the group. Understanding the octal representation is essential: for instance, 0644 sets the owner to read/write, and everyone else to read-only. File permissions also integrate with special attributes like the sticky bit, setuid, and setgid to provide advanced access control.

File permissions are critical in real-world scenarios like web servers, where public directories must be readable but not writable by users, or in multi-user systems, where sensitive configuration files must remain secure. They also serve as a bridge between human-readable administrative policies and low-level machine-enforced rules.

Some illustrative examples:

// Symbolic representation
-rw-r--r-- 1 user group 1024 Feb 28 file.txt
# Owner: read/write, Group: read, Others: read

// Octal representation
chmod 644 file.txt  # equivalent to -rw-r--r--
chmod 755 script.sh # owner full, others read/execute

// Changing ownership
chown alice file.txt
chgrp developers file.txt

File Permissions are like a velvet rope at a club: some people get full access, some get a peek, and some are politely shown the exit.

See I/O Streams, Standardization, User Accounts, Access Control Lists, Unix Permissions.