Panduan Lengkap chmod & Permission di Linux: Memahami -rw-r–r– dan Cara Mengaturnya

目次

1. Pendahuluan

Apa Itu “Hak Akses” di Linux?

Pada sistem Linux maupun Unix, sangat penting untuk mengelola hak akses (permission) pada file dan direktori dengan tepat. Ini merupakan elemen krusial baik dari sisi keamanan maupun untuk menjaga stabilitas operasional sistem.

Banyak orang pernah melihat simbol aneh seperti -rw-r--r-- saat menampilkan daftar file di terminal, lalu bertanya-tanya, “Apa artinya ini?”

Hubungan antara chmod dan -rw-r–r–

Simbol seperti ini merepresentasikan hak akses sebuah file. Untuk mengatur atau mengubah hak akses tersebut, digunakan perintah chmod. Artinya, hasil dari pemberian izin akses tertentu dengan chmod akan terlihat seperti -rw-r--r--.

Tujuan & Target Pembaca Artikel Ini

Artikel ini akan menjelaskan makna -rw-r--r--, cara mengatur dan mengubahnya menggunakan chmod, secara mudah dipahami untuk pemula. Selain itu, juga akan dibahas tips keamanan dan contoh penggunaannya dalam praktik.

Target pembaca adalah mulai dari pemula Linux hingga pengguna tingkat menengah yang ingin memperdalam pengetahuan praktis untuk keperluan kerja nyata.

侍エンジニア塾

2. Apa itu chmod? [Dasar Pemahaman]

Fungsi Perintah chmod

chmod (baca: “chown-mod” atau “change mode”) adalah singkatan dari change mode, yaitu perintah untuk mengubah hak akses file atau direktori di Linux/Unix.
Dengan perintah ini, Anda bisa mengatur siapa yang bisa membaca, menulis, atau mengeksekusi file/direktori secara fleksibel.

Pengaturan permission yang tepat sangat penting, tidak hanya untuk keamanan, tapi juga mencegah masalah dalam berbagi dan eksekusi file.

Sintaks Dasar chmod

chmod [opsi] [izin] nama_file

Contoh penggunaan:

chmod 644 sample.txt

Perintah di atas akan mengubah permission file sample.txt menjadi:

-rw-r--r--  1 user group 1234 Apr 13 20:00 sample.txt
  • Pemilik (user): bisa membaca & menulis (rw-)
  • Grup (group): hanya bisa membaca (r–)
  • Lainnya (others): hanya bisa membaca (r–)

Dua Jenis Penulisan: Angka & Simbol

chmod dapat mengatur permission dengan dua cara:

  • Mode Angka (Octal)
  • Contoh: chmod 755 script.sh
  • Setiap jenis user diatur dengan angka tertentu.
  • Mode Simbolik
  • Contoh: chmod u=rw,g=r,o=r file.txt
  • u (user), g (group), o (others) dengan r (read), w (write), x (execute) sebagai simbol izin.

Keduanya menghasilkan izin akhir yang sama, namun mode angka cepat dan praktis, sementara mode simbolik lebih fleksibel untuk perubahan sebagian.

Perbedaan chmod dan chown

Sering tertukar adalah perintah chown:

  • chmod: Mengubah permission
  • chown: Mengubah kepemilikan (owner) atau grup file/direktori

Pahami peran masing-masing agar tidak keliru saat mengelola file.

3. Memahami Arti -rw-r–r–

Struktur Simbol Permission

Dengan perintah ls -l, informasi file akan ditampilkan seperti ini:

-rw-r--r--  1 user group  1234 Apr 13  2025 sample.txt

Bagian kiri -rw-r--r-- menunjukkan permission file. Memahaminya penting agar tahu siapa yang bisa melakukan apa terhadap file tersebut.

Penjelasan Setiap Bagian

① Karakter Pertama: Jenis File

SimbolArti
-File biasa
dDirektori
lSymbolic Link
bBlock device
cCharacter device

Pada -rw-r--r--, simbol - berarti file biasa.

② Karakter ke-2 s/d ke-10: Hak Akses (3 karakter × 3 grup)

  • Pemilik (user): rw-
    → Boleh baca & tulis, tidak bisa eksekusi.
  • Grup (group): r--
    → Hanya baca.
  • Lainnya (others): r--
    → Hanya baca.

Hanya pemilik yang bisa mengedit; user lain hanya dapat melihat.

Makna Notasi Angka: 644

Permission yang sama juga bisa dinyatakan dalam angka 644:

Tipe UserSimbolAngkaArti
Pemilikrw-6Baca + Tulis
Grupr--4Hanya baca
Lainnyar--4Hanya baca

Perhitungan nilai:

  • Baca (r) = 4
  • Tulis (w) = 2
  • Eksekusi (x) = 1

rw- = 4+2 = 6; r-- = 4, dst. Hasil akhirnya 644.

Kenapa 644 Sering Digunakan?

-rw-r--r-- (644) adalah permission standar untuk file publik atau file web (HTML, CSS, dsb).

  • Hanya pemilik yang bisa mengubah (aman dari modifikasi tak sengaja)
  • User lain tetap bisa membaca (cocok untuk publikasi & sharing)

Pemilihan permission yang tepat memungkinkan keamanan dan kemudahan penggunaan.

4. Cara Mengatur -rw-r–r– dengan chmod [Praktik]

Mengubah Permission dengan chmod

Permission file/direktori dapat diubah dengan mudah memakai chmod. Untuk mengatur menjadi -rw-r--r--, cukup berikan izin 644.

Cara Penulisan Mode Angka

Format: chmod 644 nama_file

chmod 644 document.txt

Permission document.txt setelahnya menjadi:

-rw-r--r--  1 user group 1234 Apr 13 20:00 document.txt
  • Pemilik: baca & tulis (rw-)
  • Grup: baca saja (r–)
  • Lainnya: baca saja (r–)

Mode Simbolik (Symbolic Mode)

Untuk pengaturan lebih fleksibel, bisa gunakan notasi simbolik:

chmod u=rw,g=r,o=r document.txt

Penjelasan:

  • u=rw: pemilik bisa baca & tulis
  • g=r: grup hanya baca
  • o=r: lainnya hanya baca

Hasilnya sama persis seperti 644.

Catatan Saat Menerapkan pada Direktori

Berbeda dengan file, direktori memerlukan izin eksekusi (x) agar bisa diakses isinya.

Jika hanya memberikan 644:

chmod 644 my_folder

User lain tidak dapat melihat isi direktori.

Pengaturan yang benar:

chmod 755 my_folder
  • Pemilik: baca, tulis, eksekusi
  • Grup & lainnya: baca & eksekusi

Dengan ini, user lain dapat melihat isi direktori.

Mengubah Permission Secara Rekursif: Opsi -R

Untuk mengatur banyak file/subdirektori sekaligus, gunakan opsi -R (recursive).

chmod -R 644 my_folder

Semua file di my_folder menjadi 644, namun hati-hati pada direktori (lihat bagian troubleshooting).

5. Cara Mengecek Permission dengan Perintah ls -l

Bagaimana Mengecek Permission File?

Untuk memeriksa hak akses (permission) file atau direktori di Linux, gunakan perintah standar ls -l. Perintah ini menampilkan informasi detail seperti permission, pemilik, grup, ukuran, dan tanggal modifikasi terakhir.

Penggunaan Dasar

ls -l

Hasilnya akan seperti ini:

-rw-r--r--  1 naoya devs  2048 Apr 13 20:00 index.html

Setiap kolom memiliki arti sebagai berikut:

KolomArti
-rw-r--r--Hak akses (permission)
1Jumlah hard link (biasanya 1)
naoyaPemilik file
devsGrup
2048Ukuran file (byte)
Apr 13 20:00Tanggal modifikasi terakhir
index.htmlNama file

Cara Membaca Kolom Permission

Fokuslah pada bagian -rw-r--r--. Pembagian dan artinya:

  • Karakter pertama: Jenis file
    • -: file biasa
    • d: direktori
    • l: symbolic link
  • 9 karakter berikutnya: Hak akses (3 karakter x 3 user group)
    • Pemilik: rw- (baca+tulis)
    • Grup: r-- (baca saja)
    • Lainnya: r-- (baca saja)

Jadi, file ini hanya bisa diedit oleh pemiliknya, sementara user lain hanya dapat membaca.

Mengecek File Tertentu Saja

Untuk mengecek permission file tertentu, cukup tambahkan nama file:

ls -l index.html

Sangat berguna jika ada banyak file dalam satu direktori.

Cek Permission Direktori

Untuk melihat permission sebuah direktori tanpa menampilkan isi di dalamnya, gunakan opsi -d:

ls -ld my_folder

Ini hanya menampilkan informasi tentang my_folder saja, bukan daftar file di dalamnya.

Kelola Permission dengan Aman

Setelah mengatur permission dengan chmod, sebaiknya selalu cek hasilnya dengan ls -l. Jika pengaturan salah, bisa menyebabkan masalah keamanan atau error pada sistem.

Untuk cek banyak file sekaligus, filter file sesuai ekstensi (misal hanya .sh):

ls -l | grep '.sh'

Ini menampilkan hanya file shell script di direktori tersebut.

6. Cara Mengelola Permission Lewat GUI (Untuk Pemula)

Alternatif Bagi yang Kurang Nyaman dengan Terminal

Walau Linux identik dengan perintah terminal, banyak pemula merasa kesulitan atau takut melakukan kesalahan. Untuk itu, pengaturan permission juga bisa dilakukan lewat GUI (Graphical User Interface).

Mengelola Permission dengan File Manager di Ubuntu (Nautilus)

Distro seperti Ubuntu sudah memiliki file manager standar bernama Nautilus (setara Windows Explorer).

Cara mengecek dan mengubah permission di Nautilus:

  1. Klik kanan file atau folder yang ingin diatur
  2. Pilih “Properties”
  3. Buka tab “Permissions” (atau “Akses” pada beberapa versi)

Di sini, Anda bisa:

  • Mengecek dan mengubah owner/grup (memerlukan hak admin)
  • Mengatur izin baca, tulis, eksekusi lewat dropdown sederhana
  • Perubahan langsung diterapkan secara real-time

Dengan tampilan yang intuitif (misal “Hanya Baca”, “Baca & Tulis”), pemula lebih mudah memahaminya.

WinSCP (Client SFTP untuk Pengguna Windows)

Bagi yang mengelola server Linux dari Windows, gunakan WinSCP untuk mengatur permission secara grafis.

Cara penggunaannya:

  1. Login ke server lewat WinSCP
  2. Klik kanan file > “Properties”
  3. Atur angka permission (misal: 644) atau gunakan checkbox
  4. Klik OK untuk menyimpan

Kelebihan:

  • Bisa melihat & mengubah permission dalam mode angka atau simbol
  • Bisa mengatur permission secara rekursif untuk seluruh folder

Catatan: File milik root tetap butuh akses sudo untuk diubah.

WinSCP - Free SFTP and FTP client

WinSCP is a popular free file manager for Windows supporting…

FileZilla (Client SFTP Multiplatform)

FileZilla juga memungkinkan pengaturan permission lewat GUI baik di Mac maupun Linux.

Cara penggunaan:

  1. Login ke server dengan FileZilla
  2. Klik kanan file > pilih “File Permissions”
  3. Atur permission dengan checkbox atau angka, lalu klik OK

Kelebihan & Kekurangan Pengaturan GUI

Kelebihan:

  • Minim risiko salah ketik bagi pemula
  • Perubahan mudah dipantau secara visual
  • Tidak perlu hafal perintah terminal

Kekurangan:

  • Beberapa server membatasi perubahan lewat GUI
  • Terkadang tampilan belum tentu langsung sesuai hasil aktual—selalu konfirmasi dengan ls -l bila perlu

FileZilla - The free FTP solution for both client and server…

7. Tips dan Troubleshooting chmod

Sudah Atur chmod, Tapi File Tetap Tidak Bisa Digunakan?

Setelah mengubah permission dengan chmod, kadang file atau direktori tetap tidak bisa digunakan sesuai harapan. Umumnya penyebabnya adalah kesalahan pengaturan permission atau salah paham tentang arti izin.
Berikut beberapa masalah umum di lapangan dan solusinya.

Penyebab & Solusi Error “Permission denied”

Gejala:

bash: ./script.sh: Permission denied

Penyebab:

  • File yang ingin dijalankan tidak memiliki hak eksekusi (x)

Solusi:

chmod +x script.sh

Atau dengan angka:

chmod 755 script.sh

Perhatikan bahwa hak baca/tulis saja tidak cukup untuk menjalankan file; izin eksekusi wajib ada.

Direktori Tanpa Hak Eksekusi Tidak Bisa Diakses

Jika Anda memberikan chmod 644 pada direktori, isinya bisa jadi tidak bisa dibaca.

Alasannya:

  • Hak eksekusi (x) pada direktori dibutuhkan untuk bisa “masuk” atau menampilkan daftar isi direktori.

Contoh masalah:

chmod 644 my_folder
ls my_folder

→ Akan muncul error dan isi folder tidak bisa ditampilkan.

Solusi:

chmod 755 my_folder

Kesalahan Fatal Saat Menggunakan chmod -R (Recursive)

chmod -R memang praktis, namun berisiko mengatur semua file dan direktori ke permission yang sama. Ini bisa membuat direktori tidak bisa diakses karena kehilangan hak eksekusi.

Contoh kesalahan umum:

chmod -R 644 /var/www/html

→ Semua file & folder jadi 644, folder tidak bisa dibuka.

Cara yang benar:

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

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

Kesalahan Kombinasi dengan chown/chgrp

Bukan hanya permission (chmod), pemilik (user) dan grup file juga penting.

Misal, web server seperti apache harus bisa membaca file, tapi jika owner/grup tidak sesuai, file tidak bisa diakses meski permission sudah benar.

Solusi:

  • Ubah owner: sudo chown www-data:www-data index.html
  • Atur permission grup: chmod 640 index.html (jika grup sudah tepat)

Hindari chmod 777! Bahaya Membuka Semua Izin

Saat mengalami error, sebagian orang asal memberikan chmod 777 supaya “semua bisa”, padahal ini sangat berbahaya.

Alasannya:

  • Siapa pun bisa membaca, menulis, dan mengeksekusi file
  • Rawan diubah/dihapus orang lain, berpotensi disusupi malware atau script jahat

Aturan Umum yang Direkomendasikan:

  • File: 644 atau 600
  • Direktori: 755 atau 700
  • Script/binary: 755 (jika perlu dijalankan)

8. Contoh Kasus Penggunaan chmod

Bagaimana chmod Dipakai di Dunia Nyata?

Perintah chmod dan pengaturan seperti -rw-r--r-- sering digunakan dalam manajemen server dan pengembangan sistem. Berikut beberapa skenario umum di lapangan:

1. Pengelolaan File HTML di Web Server

Skenario:
Ketika mempublikasikan file HTML di server (Apache, Nginx, dll), permission yang biasanya diberikan adalah -rw-r--r-- (644).

chmod 644 index.html

Mengapa 644?

  • Admin (pemilik) bisa mengedit file → butuh write (w)
  • Web server (user www-data) cukup membaca → cukup read (r)
  • User lain tidak perlu write

Pilihan ini aman dan efisien untuk konten publik.

2. Memberi Hak Eksekusi pada File Script

Skenario:
Anda membuat script shell backup.sh, namun saat dijalankan muncul error “Permission denied”.

chmod 755 backup.sh

Penjelasan:

  • Pemilik: baca, tulis, eksekusi (rwx)
  • Grup dan lainnya: baca & eksekusi (rx)

Skrip bisa dijalankan semua user, namun hanya owner yang boleh mengedit.

3. Membatasi Akses File Rahasia

Skenario:
Menyimpan file berisi API key atau password, misal secrets.txt, agar hanya Anda yang bisa mengakses.

chmod 600 secrets.txt

Penjelasan:

  • Hanya pemilik yang bisa baca/tulis (rw-)
  • Grup/lainnya: tidak punya akses sama sekali (—)

Ini sangat penting untuk keamanan file sensitif.

4. Membagikan Folder Secara Aman ke Tim

Skenario:
Membuat folder shared_folder yang dapat diakses beberapa developer.

chmod 770 shared_folder

Penjelasan:

  • Pemilik dan grup: semua izin (rwx)
  • Lainnya: tidak ada akses (—)

Gabungkan dengan pengaturan grup (via chgrp) agar kerja sama tim lebih aman dan efisien.

5. Menghindari Masalah karena Salah Setting

Skenario:
Tanpa sengaja menjalankan chmod -R 777 . sehingga semua file terbuka untuk siapa saja.

Cara aman untuk menghindarinya:

  • Selalu gunakan find untuk membedakan file dan folder saat mengubah izin
  • Periksa permission dengan ls -l sebelum mengubah secara massal
  • Coba dulu di lingkungan uji (test)

9. Tanya Jawab (FAQ) Seputar chmod dan Permission

Q1. Apa bedanya chmod 644 dan -rw-r--r--?

A: Hanya berbeda cara penulisan, maknanya sama persis.

  • chmod 644: Perintah untuk mengatur permission secara numerik
  • -rw-r--r--: Format simbol yang muncul setelah dicek dengan ls -l

Keduanya berarti “pemilik bisa baca & tulis, user lain hanya bisa membaca”.

Q2. Apa akibatnya jika file tidak punya hak eksekusi?

A: File seperti skrip (.sh, .py, dll) tidak bisa dijalankan dan muncul error.

Contoh error:

bash: ./script.sh: Permission denied

Cara memperbaiki:

chmod +x script.sh

Q3. Apakah aman memberi 644 pada direktori?

A: Tidak dianjurkan.

Direktori membutuhkan izin eksekusi (x) agar isinya bisa diakses.

Aturan yang benar:

chmod 755 nama_direktori

Q4. Apakah aman menggunakan chmod -R secara langsung?

A: Harus hati-hati! Jika diterapkan langsung, baik file maupun direktori akan punya izin yang sama, yang bisa mengakibatkan direktori tidak bisa diakses.

Contoh:

chmod -R 644 my_project/

Cara paling aman:

find my_project/ -type d -exec chmod 755 {} \;
find my_project/ -type f -exec chmod 644 {} \;

Q5. Kenapa saya terus mendapat “Permission denied”?

A: Cek beberapa hal berikut:

  • File executable tapi tidak punya hak eksekusi
  • Bukan owner tapi mencoba menulis file
  • Direktori tidak ada izin eksekusi
  • User tidak punya hak sudo saat dibutuhkan

Gunakan ls -l dan whoami untuk cek status user & permission.

Q6. Bagaimana membagikan file agar user lain hanya bisa membaca?

A: Gunakan permission “644” atau “444”.

chmod 644 share.txt
  • 644: Hanya owner yang bisa menulis, user lain hanya bisa membaca
  • 444: Semua user hanya bisa membaca (read-only)

Pilih sesuai kebutuhan file dan tingkat keamanan yang diinginkan.

Q7. Jika salah mengatur permission, bagaimana mengembalikannya?

A: Bandingkan dengan file yang permission-nya benar, lalu perbaiki.

ls -l /path/ke/file_benar

Jadikan permission file yang benar sebagai acuan, dan dokumentasikan pengaturan awal untuk referensi di masa depan.

10. Kesimpulan

Pentingnya Memahami chmod dan Permission

Pada artikel ini telah dijelaskan secara mendalam tentang perintah chmod dan makna format simbolik -rw-r--r-- pada sistem Linux/Unix. Pengetahuan ini sangat penting untuk keamanan, efisiensi pengelolaan sistem, dan akurasi file sharing.

Ringkasan Poin Penting

  • chmod digunakan untuk mengubah permission file/direktori
  • -rw-r--r-- berarti owner dapat membaca & menulis, user lain hanya membaca
  • Notasi numerik 644 dan simbol -rw-r--r-- memiliki arti yang sama
  • Ada dua cara pengaturan permission: numerik (angka) dan simbolik
  • Gunakan ls -l untuk selalu cek hasil pengaturan permission
  • Bisa mengelola permission lewat GUI seperti Nautilus, WinSCP, atau FileZilla
  • Perhatikan error umum seperti “Permission denied” setelah ubah permission
  • Pilih setting permission sesuai kebutuhan keamanan dan fungsionalitas

Tidak Ada Satu Setting Universal Untuk Semua

Hal terpenting: tidak ada satu pengaturan permission yang cocok untuk semua file/direktori. Tentukan pengaturan terbaik sesuai kebutuhan, siapa yang akses, dan level keamanan yang diinginkan.

Tips Untuk Pemula

Meskipun tampak rumit di awal, jika terbiasa menggunakan chmod dan memahami permission, Anda akan lebih aman, efisien, dan terhindar dari masalah di masa depan.

Selalu ingat: “Siapa, untuk tujuan apa, dan akses apa yang diperlukan?” — jadikan prinsip itu dasar dalam setiap pengelolaan permission.