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:
-
Owner → pemilik file/folder.
-
Group → grup tertentu yang diberi akses.
-
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:
chmod [opsi] [permission] [file/folder]
Contoh sederhana:
chmod 755 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, mulai sekarang jangan asal chmod -R 777 ya. Memang cepat, tapi bisa jadi pintu masuk hacker.
mkasih ya :)
andri(Quote) (Reply)
@andri
ok, sama-sama ;)
wim(Quote) (Reply)
Dimana mengetikan perintah
find /home/USERHOSTING/public_html/ -type f -exec chmod 644 {} \;
find /home/USERHOSTING/public_html/ -type d -exec chmod 755 {} \;
Kodir(Quote) (Reply)
Oh, iya lupa kasih tau :P
Itu diketik dari shell/ssh. Kalau hosting cPanel rata-rata sih emang gak ngasih akses shell. Maka perintah di atas harus request ke pihak hostingnya :D
kemod(Quote) (Reply)
thank’s bro.. :D
Troy(Quote) (Reply)
sama-sama gan :-bd
kemod(Quote) (Reply)