Cara Mengatur Izin File di Linux: 6 Perintah chmod dan chown untuk Pemula
Pernahkah Anda mengetik perintah di terminal Linux, lalu muncul pesan Permission denied? Atau Anda bisa membuka sebuah file, tetapi tidak bisa menyimpannya karena tidak punya hak menulis? Penyebabnya hampir selalu sama: izin file yang belum sesuai.
Linux memang dirancang sebagai sistem multi-pengguna. Setiap file dan folder punya aturan jelas tentang siapa yang boleh membaca, mengubah, dan menjalankannya. Kabar baiknya, aturan itu tidak sulit dipelajari. Dengan memahami tiga huruf — r, w, dan x — plus dua perintah utama, chmod dan chown, Anda sudah bisa mengelola file sendiri dengan percaya diri.
1. Membaca Izin File dengan Perintah ls -l
Perintah yang paling sering dipakai adalah:
ls -l
Perintah ini menampilkan daftar file beserta detailnya. Contoh keluarannya bisa seperti ini:
-rw-r--r-- 1 budi budi 2450 Okt 25 08:00 laporan-penjualan.txt
Sepuluh karakter pertama adalah kuncinya. Karakter pertama menunjukkan jenisnya: tanda strip (-) berarti file biasa, sedangkan huruf d berarti folder. Sembilan karakter berikutnya terbagi menjadi tiga kelompok:
- Tiga huruf pertama adalah izin untuk pemilik file (owner), dalam contoh ini
rw-. - Tiga huruf berikutnya adalah izin untuk grup pemilik file, dalam contoh ini
r--. - Tiga huruf terakhir adalah izin untuk pengguna lain (others), dalam contoh ini
r--.
Lalu, apa arti ketiga huruf itu?
- r (read) berarti boleh membaca isi file, atau melihat daftar isi folder.
- w (write) berarti boleh mengubah isi file, atau menambah dan menghapus file di dalam folder.
- x (execute) berarti boleh menjalankan file sebagai program, atau masuk ke dalam folder.
Jadi, pemilik bernama budi boleh membaca dan mengubah file laporan-penjualan.txt, sedangkan anggota grup dan pengguna lain hanya boleh membacanya. Untuk memeriksa izin sebuah folder saja, tambahkan opsi d:
ls -ld dokumen-usaha
2. Mengatur Izin dengan Angka: chmod 755, 644, dan Lainnya
Perintah chmod dipakai untuk mengubah izin file. Cara paling populer adalah mode angka, karena singkat dan langsung menetapkan semua izin sekaligus. Nilainya: baca 4, tulis 2, eksekusi 1, dan tanpa izin 0.
Misalnya, angka 7 berasal dari 4 + 2 + 1 (baca, tulis, dan eksekusi), angka 5 dari 4 + 1 (baca dan eksekusi), dan angka 6 dari 4 + 2 (baca dan tulis). Tiga angka yang Anda tuliskan berturut-turut mewakili pemilik, grup, dan pengguna lain.
Berikut kombinasi yang paling sering dipakai sehari-hari:
chmod 755 skrip-backup.sh— pemilik mendapat izin penuh, sedangkan grup dan pengguna lain hanya boleh membaca dan menjalankan. Cocok untuk skrip dan folder.chmod 644 artikel.html— pemilik boleh membaca dan mengubah, sedangkan yang lain hanya boleh membaca. Ini standar untuk file dokumen, gambar, dan halaman website.chmod 600 catatan-password.txt— hanya pemilik yang boleh membaca dan mengubah. Cocok untuk file yang sifatnya rahasia.chmod 700 folder-pribadi— hanya pemilik yang boleh membuka dan mengubah isi folder.
Contoh untuk pemilik toko online: file produk di website sebaiknya 644, sedangkan foldernya 755. Dengan kombinasi itu, pengunjung bisa melihat halaman toko, tetapi tidak bisa mengubah file produk Anda. Prinsipnya sederhana: berikan izin seminimal mungkin, tetapi tetap cukup agar pekerjaan berjalan.
3. chmod Simbolik: Menambah atau Mengurangi Izin Satu per Satu
Mode angka memang praktis, tetapi ia mengganti seluruh izin sekaligus. Kalau Anda hanya ingin menambah atau mengurangi satu izin tanpa menyentuh yang lain, mode simbolik lebih aman. Polanya: siapa, operasi apa, dan izin apa. Huruf yang menunjukkan siapa: u untuk pemilik, g untuk grup, o untuk pengguna lain, dan a untuk semuanya. Tandanya: + untuk menambah, – untuk mengurangi, dan = untuk menetapkan persis.
chmod u+x laporan.sh
chmod g-w data-tim.txt
chmod o=r pengumuman.txt
chmod u+x,g-w skrip-rilis.sh
Perintah pertama menambahkan izin eksekusi untuk pemilik. Perintah kedua mencabut izin tulis dari grup. Perintah ketiga menetapkan pengguna lain hanya boleh membaca. Perintah keempat menggabungkan dua perubahan sekaligus, dipisahkan koma tanpa spasi.
Kapan memakai mode ini? Misalnya Anda sudah mengatur file dengan 644, lalu ingin menambah izin eksekusi untuk pemilik saja. Daripada menghitung ulang angkanya, cukup jalankan chmod u+x namafile — izin yang lain tetap utuh.
4. Mengganti Pemilik File dengan chown
Kadang masalahnya bukan pada izinnya, melainkan pada pemiliknya. Misalnya Anda menyalin file dari flashdisk atau akun lain, lalu pemiliknya tercatat sebagai pengguna yang berbeda sehingga Anda tidak bisa mengubahnya. Di sinilah perintah chown berperan: ia mengganti pemilik file, dan bisa juga mengganti grupnya sekaligus.
sudo chown budi:budi laporan-penjualan.txt
sudo chown budi laporan-penjualan.txt
sudo chown :tim-penjualan laporan-penjualan.txt
Perintah pertama mengganti pemilik menjadi budi sekaligus grupnya menjadi budi. Perintah kedua hanya mengganti pemiliknya, sedangkan perintah ketiga hanya mengganti grupnya. Mengganti pemilik hampir selalu membutuhkan hak administrator, sehingga perintah ini biasanya diawali sudo.
Ada juga perintah chgrp yang khusus mengganti grup saja:
sudo chgrp tim-penjualan laporan-penjualan.txt
Untuk folder beserta seluruh isinya, tambahkan opsi -R (rekursif) — tetapi pakailah dengan sangat hati-hati, karena perubahan akan menjalar ke semua file di dalamnya. Contoh untuk UMKM: file website di server sering kali harus dimiliki akun web server, misalnya www-data, agar situs bisa menampilkan gambar dan menyimpan unggahan dengan benar.
5. Menggunakan sudo dengan Aman Saat Mengubah Izin
Perintah sudo memberi Anda hak administrator untuk sementara waktu. Ia berguna, tetapi berbahaya kalau dipakai sembarangan, karena bisa mengubah file sistem yang penting.
Pertama, gunakan sudo hanya saat benar-benar perlu. File milik Anda sendiri di folder home biasanya bisa diubah tanpa sudo. Kalau Anda mendapat pesan Permission denied pada file sendiri, periksa dulu izin dan pemiliknya dengan ls -l — jangan langsung menambahkan sudo sebagai jalan pintas.
Kedua, ketik perintah dengan lengkap dan periksa dua kali sebelum menekan Enter, terutama kalau perintah itu memakai opsi -R atau menunjuk ke folder sistem seperti /etc atau /var.
Ketiga, jangan pernah menjalankan perintah izin yang Anda salin dari internet tanpa memahami maksudnya.
6. Kesalahan Umum dan Contoh Praktis: Membuat Skrip Bisa Dijalankan
Sekarang mari gabungkan semua yang sudah dipelajari ke dalam satu contoh nyata, sekaligus menghindari kesalahan paling sering dilakukan pemula: menjalankan chmod 777 pada semua file yang bermasalah. Angka 777 berarti semua orang boleh membaca, mengubah, dan menjalankan file itu. Masalahnya memang langsung hilang, tetapi Anda juga baru saja membuka pintu bagi siapa pun — termasuk program jahat — untuk mengubah file Anda.
Kesalahan lain yang sering terjadi adalah memakai -R pada folder yang salah, serta lupa bahwa folder tanpa izin x tidak bisa dimasuki meskipun izin r sudah diberikan.
Mari praktikkan contoh yang benar. Misalkan Anda punya skrip cadangan sederhana bernama backup-toko.sh. Buat dan isi file itu, misalnya dengan perintah menyalin folder dokumen usaha ke folder cadangan, lalu buat skrip tersebut bisa dijalankan oleh pemiliknya:
chmod u+x backup-toko.sh
ls -l backup-toko.sh
Sekarang jalankan skrip itu dari folder yang sama:
./backup-toko.sh
Tanda ./ di depan nama file memberi tahu terminal bahwa skrip itu ada di folder saat ini. Untuk skrip yang dipakai bersama tim, chmod 755 adalah pilihan yang wajar; untuk skrip pribadi yang berisi kata sandi, pilih 700.
Kesimpulan
Mengatur izin file di Linux sebenarnya hanya soal tiga pertanyaan: siapa pemiliknya, siapa saja yang boleh mengaksesnya, dan apa saja yang boleh mereka lakukan. Perintah ls -l menjawab pertanyaan itu, chmod mengubah jawabannya — baik dengan angka seperti 755 dan 644 maupun dengan simbol seperti u+x — dan chown memindahkan kepemilikan saat diperlukan.
Mulailah dari hal kecil: buat satu skrip sederhana, atur izinnya, dan jalankan. Setelah terbiasa, mengelola izin file untuk toko online, blog WordPress, atau server kecil Anda akan terasa semudah mengelola folder di komputer biasa.