File System & Permissions — DevOps

Struktur File System Linux Linux menggunakan struktur direktori hierarki dengan / (root) sebagai titik awal: / ├── bin/ # binary/program essential ├── etc/ #…

Struktur File System Linux

Linux menggunakan struktur direktori hierarki dengan / (root) sebagai titik awal:

/
├── bin/      # binary/program essential
├── etc/      # konfigurasi sistem
├── home/     # home directory user
├── var/      # data variabel (log, cache)
│   ├── log/  # file log
│   └── www/  # web root (opsional)
├── tmp/      # file temporary
├── usr/      # program & library user
└── opt/      # software third-party

Permission Model

Setiap file punya 3 jenis permission untuk 3 kategori:

# Format: -rwxrwxrwx
#          │├─┘├─┘├─┘
#          │ │   │  └── Others (semua user lain)
#          │ │   └── Group
#          │ └── Owner
#          └── Tipe (- = file, d = directory)

# r = read (4), w = write (2), x = execute (1)
# Contoh: rwxr-xr-- = 754

chmod 755 script.sh     # owner: rwx, group: r-x, others: r-x
# 755 artinya group dan others mendapat read+execute (bisa baca & jalankan, tapi tidak bisa edit)
chmod 644 config.txt    # owner: rw-, group: r--, others: r--
chmod +x deploy.sh      # tambah execute untuk semua

Ownership

# Ubah pemilik file
chown www-data:www-data /var/www/html -R

# Lihat permission & owner
ls -la
# drwxr-xr-x 2 www-data www-data 4096 Jan 1 index.html

Permission Penting untuk Web Server

# File konfigurasi: hanya owner bisa baca/tulis
chmod 600 .env

# Direktori web: bisa diakses web server
chmod 755 /var/www/html
chown -R www-data:www-data /var/www/html

# Storage Laravel
chmod -R 775 storage/
chmod -R 775 bootstrap/cache/

Yang akan kamu pelajari