Understanding File Permissions | rwx & chmod | Mac/Linux Terminal
17views
004:47
T
Taught by Celeste AI - AI Coding Coach
View on YouTubeDescription
Master file permissions in Mac and Linux terminals! In this comprehensive tutorial, you'll learn how to read and interpret file permissions using the `rwx` notation system, understand permissions for user, group, and others, and use numeric permission codes like 755 and 644.
š **Reading Permission Notation (rwx)**
- Understanding the `rwx` notation system
- `r` = read permission (view files, list directories)
- `w` = write permission (modify files, create files in directories)
- `x` = execute permission (run files as programs, enter directories)
- Reading permissions from `ls -l` output
- The 10-character permission string (file type + 9 permission characters)
- How permissions appear: `rwxr-xr-x`, `rw-r--r--`, etc.
- Understanding dashes (`-`) for denied permissions
š„ **User, Group, and Others**
- The three permission categories: user (owner), group, and others
- First set of three characters: permissions for the file owner
- Second set of three characters: permissions for the group
- Third set of three characters: permissions for others (everyone else)
- Fine-grained access control with three-tier permission system
- Examples: owner-only write, group execute, public read
- Understanding how these categories work together
š¢ **Numeric Permissions (755, 644, etc.)**
- Converting `rwx` notation to numeric codes
- Numeric values: read = 4, write = 2, execute = 1
- Calculating permissions: `rwx` = 4+2+1 = 7, `rw-` = 4+2+0 = 6, `r-x` = 4+0+1 = 5
- Three-digit codes: one for user, one for group, one for others
- Common permission codes:
- `755` = `rwxr-xr-x` (executable files, owner has full access, others can read/execute)
- `644` = `rw-r--r--` (regular files, owner can read/write, others can only read)
- `600` = `rw-------` (private files, only owner can read/write)
- Using `chmod` with numeric codes
- Understanding when to use numeric vs symbolic notation
**Commands Covered:**
- `ls -l` - List files with detailed permissions
- `chmod` - Change file permissions
- `chmod 755` - Set permissions using numeric codes
- `chmod u+x` - Add execute permission for user (symbolic notation)
- `chmod g+w` - Add write permission for group
- `chmod o-r` - Remove read permission for others
**Perfect for:**
- Mac and Linux terminal beginners
- Anyone learning file system security
- Developers managing project permissions
- System administrators configuring access
- Users understanding file security
**Why This Matters:**
File permissions are fundamental to Unix-like systems security. Understanding how to read and set permissions correctly is essential for:
- Protecting sensitive files
- Sharing files appropriately
- Running scripts and executables
- Managing multi-user systems
- Following security best practices
**Real-World Applications:**
- Setting executable permissions on scripts
- Protecting sensitive configuration files
- Sharing files within a group
- Restricting access to private documents
- Configuring web server file permissions
- Managing project file access
**Common Permission Patterns:**
- `755` - Scripts and executables (owner: full, others: read/execute)
- `644` - Regular files (owner: read/write, others: read only)
- `600` - Private files (owner only)
- `750` - Group-shared files (owner: full, group: read/execute, others: none)
- `777` - Full access (use with caution!)
**Security Best Practices:**
- Use restrictive permissions by default
- Only grant execute permission when needed
- Use `600` or `640` for sensitive files
- Avoid `777` unless absolutely necessary
- Understand the difference between user, group, and others
- Regularly review file permissions
**Key Concepts:**
- Permissions are read left to right: user, group, others
- Each category has three permissions: read, write, execute
- Numeric codes provide a concise way to set permissions
- Symbolic notation (`u+x`, `g-w`) allows incremental changes
- Directories need execute permission to be entered
**Next Steps:**
- Practice reading permissions with `ls -l`
- Try changing permissions with `chmod`
- Experiment with numeric codes (755, 644, 600)
- Learn symbolic notation for incremental changes
- Understand how permissions affect file access
Back to tutorialsOpen in YouTube
Duration
4:47
Published
December 26, 2025
Added to Codegiz
March 15, 2026