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 type

Permission Types

  • r (4): Read permission

  • w (2): Write permission

  • x (1): Execute permission

  • -: No permission

File Types

  • -: Regular file

  • d: Directory

  • l: Symbolic link

  • b: Block device

  • c: Character device

  • s: Socket

  • p: 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

  1. Security

    • Use least privilege principle

    • Regularly audit permissions

    • Avoid 777 permissions

    • Be cautious with SUID/SGID

  2. Directory Permissions

    • 755 for public directories

    • 750 for group-shared directories

    • 700 for private directories

  3. 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

  1. Cannot Access File

    • Check file permissions

    • Check directory permissions

    • Verify ownership

    • Check parent directory permissions

  2. Cannot Execute Script

    • Ensure execute permission is set

    • Check shebang line

    • Verify file is on executable path

  3. Group Access Issues

    • Verify group membership

    • Check group permissions

    • Ensure proper group ownership

Last updated

Was this helpful?