Permission Linux: Panduan Lengkap chmod, chown, dan Rahasia Angka 755/644
Pernahkah Anda mengubah permission sebuah file di server Linux, lalu tiba-tiba website Anda menampilkan halaman 500 Internal Server Error atau 403 Forbidden? Jika pernah, Anda tidak sendirian. Kesalahan permission adalah salah satu penyebab paling umum website down, terutama pada server berbasis Linux yang menjalankan WordPress, Nginx, Apache, atau aplikasi berbasis PHP lainnya.
Permission (izin akses) adalah fondasi keamanan sistem operasi Linux. Setiap file dan folder memiliki aturan siapa yang boleh membaca, menulis, atau mengeksekusinya. Sayangnya, banyak sysadmin pemula—bahkan yang sudah berpengalaman—masih bingung dengan angka-angka seperti 755, 644, 700, atau 777, dan akhirnya asal menjalankan chmod -R 777 demi “menyelesaikan masalah” tanpa memahami risikonya.
Artikel ini akan membedah tuntas cara kerja permission Linux, bagaimana chmod dan chown bekerja, apa arti sebenarnya dari angka 4, 2, dan 1, hingga studi kasus nyata kesalahan permission yang membuat website down. Baik Anda seorang pemula yang baru belajar Linux, maupun sysadmin dan DevOps yang ingin menyegarkan pemahaman, panduan ini disusun agar mudah dipahami sekaligus praktis diterapkan.
Apa Itu Permission di Linux?
Linux adalah sistem operasi multi-user, artinya banyak pengguna dan proses bisa mengakses sistem yang sama secara bersamaan. Untuk menjaga keamanan, setiap file dan direktori memiliki tiga jenis izin akses:
- Read (r) — izin membaca isi file atau melihat daftar isi folder
- Write (w) — izin mengubah, menulis, atau menghapus isi file/folder
- Execute (x) — izin menjalankan file (untuk script/program) atau masuk ke dalam folder
Ketiga izin ini diterapkan pada tiga kelompok pengguna berbeda:
- Owner (pemilik) — biasanya user yang membuat file tersebut
- Group (grup) — kumpulan user yang tergabung dalam grup tertentu
- Others (lainnya) — semua user lain di luar owner dan group
Jika Anda menjalankan perintah ls -l di terminal, Anda akan melihat output seperti ini:
-rw-r--r-- 1 www-data www-data 1024 Jan 10 10:00 index.php
drwxr-xr-x 2 www-data www-data 4096 Jan 10 10:00 wp-content
Sepuluh karakter di awal itulah representasi permission. Karakter pertama menunjukkan tipe (- untuk file, d untuk direktori), lalu diikuti tiga blok masing-masing 3 karakter untuk owner, group, dan others.
Rahasia Angka 4, 2, 1 — Cara Kerja Permission Numerik
Inilah bagian yang paling sering membingungkan pemula: kenapa permission direpresentasikan dengan angka seperti 755 atau 644?
Jawabannya sederhana. Setiap jenis izin memiliki nilai biner:
| Izin | Simbol | Nilai |
|---|---|---|
| Read | r | 4 |
| Write | w | 2 |
| Execute | x | 1 |
| Tidak ada izin | – | 0 |
Nilai-nilai ini dijumlahkan untuk membentuk satu digit permission per kelompok pengguna. Misalnya:
rwx= 4 + 2 + 1 = 7 (bebas baca, tulis, eksekusi)rw-= 4 + 2 + 0 = 6 (boleh baca dan tulis, tidak bisa eksekusi)r-x= 4 + 0 + 1 = 5 (boleh baca dan eksekusi, tidak bisa tulis)r--= 4 + 0 + 0 = 4 (hanya boleh baca)
Angka permission seperti 755 sebenarnya adalah gabungan tiga digit ini untuk tiga kelompok: owner, group, others.
Analogi sederhana: bayangkan Anda memberi tiga jenis kunci berbeda kepada tiga orang berbeda untuk masuk ke rumah Anda. Kunci pertama (angka pertama) untuk Anda sendiri sebagai pemilik, kunci kedua untuk keluarga (group), dan kunci ketiga untuk tamu (others). Semakin besar angkanya, semakin “lengkap” kunci yang diberikan.
Membedah Angka 755 dan 644
Dua kombinasi paling umum digunakan di server web adalah 755 dan 644. Mari kita bedah:
755 → rwxr-xr-x
- Owner: 7 = rwx (baca, tulis, eksekusi)
- Group: 5 = r-x (baca, eksekusi, tanpa tulis)
- Others: 5 = r-x (baca, eksekusi, tanpa tulis)
Permission 755 biasanya digunakan untuk direktori/folder dan file yang perlu dieksekusi, seperti script shell atau folder WordPress. Owner bebas melakukan apa saja, sedangkan group dan others hanya bisa membaca dan masuk (tanpa bisa mengubah isi).
644 → rw-r--r--
- Owner: 6 = rw- (baca, tulis, tanpa eksekusi)
- Group: 4 = r– (hanya baca)
- Others: 4 = r– (hanya baca)
Permission 644 umumnya digunakan untuk file biasa, seperti file PHP, HTML, gambar, atau file konfigurasi. Owner bisa mengedit file tersebut, sedangkan pengguna lain hanya bisa membacanya, tidak bisa mengubah.
Kenapa folder butuh execute (x) sementara file biasanya tidak? Karena di Linux, izin execute pada sebuah direktori berarti izin untuk “masuk” ke dalamnya (cd) dan mengakses isi di dalamnya, bukan menjalankan folder tersebut sebagai program. Inilah sebabnya folder umumnya diberi 755, sedangkan file konten seperti gambar atau file PHP cukup 644.
Perintah chmod: Mengubah Permission
chmod (change mode) adalah perintah untuk mengubah permission file atau folder. Ada dua cara penggunaan: numerik dan simbolik.
Cara numerik:
chmod 755 nama_folder
chmod 644 nama_file.php
Cara simbolik:
chmod u+x script.sh # menambahkan izin eksekusi untuk owner
chmod g-w file.txt # menghapus izin tulis untuk group
chmod o=r file.txt # mengatur izin others hanya read
Untuk mengubah banyak file/folder sekaligus secara rekursif (termasuk semua sub-folder dan file di dalamnya), gunakan opsi -R:
chmod -R 755 /var/www/html/wp-content
Peringatan penting: hindari menyamakan permission folder dan file. Folder dan file punya kebutuhan izin berbeda—folder butuh execute agar bisa “dimasuki”, sedangkan file konten biasanya tidak perlu execute. Jika disamaratakan, sering muncul masalah keamanan atau error.
Perintah chown: Mengubah Kepemilikan
Selain permission, ada juga konsep ownership (kepemilikan). Setiap file memiliki owner (user) dan group tertentu. chown (change owner) digunakan untuk mengubah siapa pemilik file tersebut.
chown www-data:www-data index.php
chown -R www-data:www-data /var/www/html
Format umumnya adalah chown user:group nama_file. Pada server web, hampir semua file WordPress atau aplikasi PHP sebaiknya dimiliki oleh user yang sama dengan user web server (misalnya www-data di Ubuntu/Debian, atau nginx/apache di CentOS), agar web server memiliki izin yang tepat untuk membaca dan (jika perlu) menulis file.
Studi Kasus: Kesalahan Permission yang Membuat Website Down
Kasus 1: Website Error 500 setelah instalasi plugin WordPress
Seorang admin website menginstal plugin baru, lalu tiba-tiba muncul error 500. Setelah dicek, ternyata folder wp-content/uploads memiliki permission 644 (bukan 755). Karena folder tidak memiliki izin execute, PHP tidak bisa “masuk” ke folder tersebut untuk menulis file upload, sehingga proses gagal dan memicu error.
Solusi: mengubah permission folder menjadi 755 dengan chmod -R 755 wp-content/uploads.
Kasus 2: File wp-config.php bisa diakses publik
Sebuah website mengalami kebocoran data karena file wp-config.php—yang berisi kredensial database—memiliki permission 777. Artinya siapa pun, termasuk user lain di server shared hosting, bisa membaca file tersebut dan mendapatkan password database.
Solusi: mengubah permission menjadi 600 atau 640, sehingga hanya owner (dan opsional group) yang bisa membacanya.
Kasus 3: Website down total setelah chmod -R 777 massal
Karena panik menghadapi error permission, seorang pengguna menjalankan chmod -R 777 /var/www/html untuk “menyelesaikan semua masalah sekaligus”. Website memang kembali berjalan sementara, tetapi beberapa hari kemudian website diretas karena celah keamanan besar—siapa pun bisa menulis dan mengeksekusi file apa pun di server.
Solusi: jangan pernah menggunakan 777 di server produksi. Gunakan permission spesifik sesuai kebutuhan (755 untuk folder, 644 untuk file, dan permission lebih ketat untuk file sensitif).
Materi Praktis: Langkah Penerapan Permission yang Benar di WordPress
Tutorial Step-by-Step
Langkah 1: Cek permission saat ini Gunakan ls -la di direktori root WordPress untuk melihat permission file dan folder yang ada saat ini. Ini membantu Anda memahami kondisi awal sebelum melakukan perubahan.
Langkah 2: Tentukan user dan group web server Cari tahu user yang dipakai web server Anda (misalnya www-data) dengan perintah ps aux | grep nginx atau ps aux | grep apache. User inilah yang akan dijadikan owner file.
Langkah 3: Atur ownership seluruh file WordPress
chown -R www-data:www-data /var/www/html
Langkah ini memastikan web server memiliki hak akses yang benar terhadap seluruh file.
Langkah 4: Atur permission folder ke 755
find /var/www/html -type d -exec chmod 755 {} \;
Perintah find dengan opsi -type d mencari semua folder, lalu menerapkan permission 755 pada masing-masing.
Langkah 5: Atur permission file ke 644
find /var/www/html -type f -exec chmod 644 {} \;
Sama seperti langkah sebelumnya, tetapi kali ini menyasar seluruh file (-type f) dan menerapkan permission 644.
Langkah 6: Amankan file sensitif secara khusus
chmod 600 wp-config.php
File yang berisi kredensial seperti wp-config.php sebaiknya diberi permission lebih ketat agar hanya owner yang bisa membacanya.
Langkah 7: Verifikasi ulang Cek kembali dengan ls -la dan uji akses website. Pastikan tidak ada error 403/500 dan seluruh fitur seperti upload media berjalan normal.
Kesalahan yang Sering Terjadi
1. Menggunakan chmod 777 sebagai “solusi instan”
- Penyebab: Panik menghadapi error permission dan ingin cepat selesai.
- Dampak: Membuka celah keamanan besar; siapa pun bisa membaca, menulis, bahkan mengeksekusi file berbahaya.
- Cara mengatasi: Gunakan permission spesifik (755/644) dan pahami kebutuhan sebenarnya sebelum mengubah izin.
2. Menyamakan permission folder dan file
- Penyebab: Tidak memahami perbedaan kebutuhan izin eksekusi antara folder dan file.
- Dampak: Folder yang seharusnya 755 justru 644 sehingga tidak bisa diakses, atau file yang seharusnya 644 justru diberi izin eksekusi berlebihan.
- Cara mengatasi: Gunakan perintah
findterpisah untuk folder (-type d) dan file (-type f) seperti dicontohkan di atas.
3. Salah kepemilikan (ownership) file
- Penyebab: File dimiliki oleh user pribadi (misalnya
rootatau user SSH), bukan user web server. - Dampak: Web server tidak punya izin membaca/menulis file meskipun permission sudah benar.
- Cara mengatasi: Selalu sesuaikan
chowndengan user yang menjalankan web server.
4. Tidak membackup sebelum melakukan perubahan massal
- Penyebab: Terburu-buru menjalankan perintah rekursif tanpa persiapan.
- Dampak: Jika terjadi kesalahan, sulit mengembalikan kondisi semula.
- Cara mengatasi: Selalu buat snapshot atau backup sebelum mengubah permission secara massal di server produksi.
5. Mengabaikan file sensitif seperti wp-config.php atau .env
- Penyebab: Menerapkan permission umum (644/755) ke semua file tanpa pengecualian.
- Dampak: Kredensial database atau API key berisiko terekspos.
- Cara mengatasi: Berikan permission lebih ketat (600 atau 640) khusus untuk file yang berisi informasi sensitif.
Tips dan Rekomendasi
- Gunakan 755 untuk folder, 644 untuk file sebagai standar aman di sebagian besar server web.
- Jangan pernah menggunakan 777 di server produksi, kecuali untuk debugging sesaat di lingkungan lokal/testing.
- Selalu sesuaikan ownership dengan user web server, bukan user pribadi Anda.
- Gunakan perintah
finduntuk membedakan permission folder dan file saat melakukan perubahan massal. - Lakukan audit permission secara berkala, terutama setelah migrasi server atau restore backup.
- Simpan dokumentasi permission standar untuk tim, agar konsisten di seluruh environment (development, staging, production).
- Pertimbangkan menggunakan ACL (Access Control List) untuk kebutuhan izin yang lebih kompleks dan granular.

Kesimpulan
Memahami permission Linux—terutama cara kerja chmod, chown, dan makna di balik angka seperti 755 dan 644—adalah keterampilan dasar yang wajib dikuasai siapa pun yang mengelola server, baik pemula maupun profesional. Angka permission bukanlah kode rahasia yang harus dihafal membabi buta, melainkan hasil penjumlahan sederhana dari tiga izin dasar: read (4), write (2), dan execute (1).
Kesalahan permission, sekecil apa pun, bisa berdampak besar—mulai dari website down, fitur upload gagal, hingga kebocoran data sensitif. Dengan memahami logika di baliknya dan menerapkan best practice (755 untuk folder, 644 untuk file, ownership yang tepat, dan menghindari 777), Anda bisa menjaga server tetap aman, stabil, dan mudah dikelola dalam jangka panjang.
Bagaimana pengalaman Anda mengelola permission di server Linux? Pernah mengalami error karena salah setting chmod atau chown?
Yuk, bagikan pengalaman Anda di kolom komentar! Jangan lupa bagikan artikel ini ke rekan sysadmin atau developer lain yang mungkin sedang menghadapi masalah serupa, dan jelajahi artikel-artikel terkait lainnya seputar Linux, server, dan keamanan sistem di website ini.
Frequently Asked Questions (FAQ)
Pertanyaan: Apa perbedaan antara chmod dan chown? Jawaban: chmod digunakan untuk mengubah izin akses (read, write, execute) pada file/folder, sedangkan chown digunakan untuk mengubah kepemilikan (owner dan group) file/folder tersebut. Keduanya sering digunakan bersamaan saat mengonfigurasi server.
Pertanyaan: Kenapa permission 777 berbahaya untuk website? Jawaban: Permission 777 memberikan akses penuh (baca, tulis, eksekusi) kepada semua pengguna di server, termasuk pihak yang tidak berwenang. Ini membuka celah bagi peretas untuk mengubah atau menyisipkan file berbahaya ke server Anda.
Pertanyaan: Apakah semua folder WordPress harus 755? Jawaban: Secara umum ya, 755 adalah standar aman untuk folder WordPress. Namun ada pengecualian, misalnya folder wp-content/uploads yang kadang butuh permission tulis lebih fleksibel tergantung konfigurasi hosting, tetap disarankan tidak lebih longgar dari kebutuhan aktual.
Pertanyaan: Bagaimana cara mengetahui user yang tepat untuk chown di server saya? Jawaban: Anda bisa mengecek user yang menjalankan proses web server dengan perintah ps aux | grep nginx atau ps aux | grep apache2, tergantung web server yang digunakan. User tersebutlah yang sebaiknya menjadi owner file.
Pertanyaan: Apakah mengubah permission secara rekursif (-R) aman dilakukan langsung di server produksi? Jawaban: Sebaiknya tidak langsung. Lakukan backup terlebih dahulu, uji di lingkungan staging jika memungkinkan, dan pastikan Anda memahami dampak perubahan sebelum menjalankannya di server produksi.
Sudah paham cara kerja permission Linux sekarang?
Tulis pengalaman atau pertanyaan Anda di kolom komentar, bagikan artikel ini ke tim atau komunitas sysadmin Anda, dan terus ikuti artikel-artikel terbaru seputar Linux, server, networking, dan keamanan siber di website ini!
Subscribe channel YouTube Walid Umar
Tutorial server, networking, dan sysadmin tiap minggu.