Permissions
This guide covers Linux file permissions, ownership, and access control.
π Understanding Permission Structure
Basic Permission Format
-rwxrwxrwx 1 owner group size date filename
βββ¬βββ¬βββ¬β
β β β ββ Other permissions
β β βββββ Group permissions
β ββββββββ Owner permissions
ββββββββββ File typePermission Types
r(4): Read permissionw(2): Write permissionx(1): Execute permission-: No permission
File Types
-: Regular filed: Directoryl: Symbolic linkb: Block devicec: Character devices: Socketp: Named pipe
π§ Changing Permissions
Using chmod with Symbolic Mode
Using chmod with Octal Mode
π₯ Ownership Management
Changing Owner and Group
Recursive Changes
π Special Permissions
SUID (Set User ID) - 4000
Executes with owner's permissions
Appears as 's' in user execute position
SGID (Set Group ID) - 2000
Executes with group's permissions
Appears as 's' in group execute position
Sticky Bit - 1000
Only owner can delete files
Common on /tmp directory
π Access Control Lists (ACL)
Viewing ACLs
Setting ACLs
π‘ Best Practices
Security
Use least privilege principle
Regularly audit permissions
Avoid 777 permissions
Be cautious with SUID/SGID
Directory Permissions
755 for public directories
750 for group-shared directories
700 for private directories
File Permissions
644 for regular files
600 for sensitive files
755 for scripts
400 for read-only files
π¨ Common Issues and Solutions
Permission Denied
Inheritance
π Troubleshooting
Cannot Access File
Check file permissions
Check directory permissions
Verify ownership
Check parent directory permissions
Cannot Execute Script
Ensure execute permission is set
Check shebang line
Verify file is on executable path
Group Access Issues
Verify group membership
Check group permissions
Ensure proper group ownership
Last updated
Was this helpful?