Cara Mengubah Permission Seluruh File dan Folder via Shell

Permission File & Folder (endlesgeek.com)

wim’s Blog – Sebagai seorang sysadmin atau developer, kamu pasti sering berurusan dengan masalah permission di Linux. Misalnya, ketika migrasi website, file upload error, atau aplikasi tidak bisa dijalankan karena tidak punya izin akses.

Nah, kali ini kita akan bahas bagaimana cara merubah permission untuk seluruh file atau folder via shell (terminal) dengan cepat dan aman.

Apa itu Permission di Linux?

Permission di Linux adalah hak akses untuk file dan folder. Secara umum terbagi menjadi tiga:

  1. Owner → pemilik file/folder.
  2. Group → grup tertentu yang diberi akses.
  3. Others → semua user lain di luar owner & group.

Setiap permission punya tiga tipe utama:

  • r (read) = membaca
  • w (write) = menulis/mengedit
  • x (execute) = menjalankan

Perintah Dasar chmod

Untuk mengubah permission di Linux kita menggunakan perintah chmod. Formatnya adalah:

$ chmod [opsi] [permission] [file/folder]

Contoh sederhana:

$ chmod 644 index.php

Artinya:

  • Owner: read, write, execute
  • Group: read, execute
  • Others: read, execute

Mengubah Permission untuk Seluruh File

Jika kamu ingin mengubah permission untuk semua file dalam suatu folder, gunakan:

$ find /path/to/folder -type f -exec chmod 644 {} \;

  • -type f → hanya file
  • chmod 644 → permission standar file (read/write untuk owner, read untuk group & others)

Mengubah Permission untuk Seluruh Folder

Untuk seluruh folder:

$ find /path/to/folder -type d -exec chmod 755 {} \;

  • -type d → hanya directory
  • chmod 755 → permission standar folder (owner bisa read/write/execute, group & others bisa read/execute)

Praktis dengan Opsi -R

Kalau mau cepat, bisa juga pakai opsi recursive -R:

chmod -R 755 /path/to/folder

Tapi hati-hati, ini akan membuat semua file dan folder jadi 755, yang sebenarnya kurang aman untuk file.
Karena itu lebih disarankan pakai kombinasi find seperti contoh di atas.

Best Practice Permission di Web Server

Jika digunakan untuk website (Apache/Nginx):

  • Folder: 755
  • File: 644
  • File PHP/Script: 644
  • Config sensitif (misal wp-config.php): 600

Contoh cepat:

find /var/www/html -type d -exec chmod 755 {} \;

find /var/www/html -type f -exec chmod 644 {} \;

Penutup

Dengan memahami cara mengubah permission lewat shell, kamu bisa:

  • Mengatasi error Permission denied
  • Menjaga keamanan server
  • Mengelola aplikasi/web dengan lebih rapi

Jadi, jangan asal chmod -R 777 ya. Memang cepat, tapi bisa jadi pintu masuk hacker.