Setiap file dan direktori di Linux memiliki pemilik serta aturan izin akses yang menentukan siapa yang boleh membaca, mengubah, atau menjalankannya. Inilah salah satu pilar keamanan Linux yang membedakannya dari banyak sistem lain. Setelah memahami pengguna, grup, dan sudo pada dua bab sebelumnya, kini Anda akan mempelajari cara membaca output ls -l, mengubah kepemilikan dengan chown dan chgrp, mengatur izin akses dengan chmod, memahami nilai default lewat umask, serta mengenal izin khusus seperti SUID, SGID, dan sticky bit.
Perlu diketahui, sejak Ubuntu 26.04 LTS, perintah-perintah inti yang dipakai di bab ini seperti ls, chmod, chown, dan chgrp sebenarnya dijalankan oleh implementasi baru bernama uutils coreutils, yaitu tulisan ulang GNU coreutils dalam bahasa Rust yang dipasang sebagai bawaan demi keamanan memori yang lebih baik. Implementasi ini dirancang agar sepenuhnya sekelas pengganti (drop-in replacement) dari versi GNU aslinya, sehingga seluruh perintah dan contoh output pada bab ini tetap berlaku tanpa perubahan di Ubuntu 26.04 LTS. Fedora Workstation 44 pada rilis ini masih memakai GNU coreutils seperti biasa.
Membaca Output ls -l
Cara termudah untuk melihat izin akses sebuah file adalah dengan menjalankan ls -l. Perhatikan contoh berikut.
ls -l catatan.txt
-rw-r--r-- 1 anda anda 1024 Jul 20 09:00 catatan.txtKolom paling kiri, -rw-r--r--, adalah inti dari seluruh bab ini. Kolom tersebut terdiri atas sepuluh karakter yang dapat dipecah menjadi beberapa bagian.
Tipe File
Karakter pertama menunjukkan tipe file.
| Karakter | Tipe File |
|---|---|
- | File biasa |
d | Direktori |
l | Symbolic link |
b | Block device |
c | Character device |
s | Socket |
p | Named pipe (FIFO) |
Khusus untuk symbolic link, Anda akan selalu melihat izin akses lrwxrwxrwx pada ls -l, apa pun izin yang sebenarnya Anda tetapkan padanya. Ini bukan kesalahan: kernel Linux memang mengabaikan izin akses pada symlink itu sendiri, dan yang benar-benar berlaku adalah izin akses milik file atau direktori yang ditunjuknya (target).
Permission Bits: rwxrwxrwx
Sembilan karakter berikutnya dibagi menjadi tiga kelompok yang masing-masing terdiri atas tiga karakter, yaitu untuk owner (pemilik), group (grup), dan others (pengguna lain).
| Karakter | Arti | Pada file | Pada direktori |
|---|---|---|---|
r | Read | Membaca isi file | Melihat daftar isi direktori |
w | Write | Mengubah isi file | Menambah atau menghapus isi direktori |
x | Execute | Menjalankan file | Masuk ke dalam direktori |
Oleh karena itu, -rw-r--r-- berarti file biasa yang dapat dibaca dan ditulis oleh pemiliknya, hanya dapat dibaca oleh anggota grup, dan hanya dapat dibaca oleh pengguna lain. Pola ini adalah pola paling umum untuk file pribadi.
Mengubah Kepemilikan
Kepemilikan file meliputi pemilik (owner) dan grup. Dua perintah berikut digunakan untuk mengubahnya.
chown: Mengubah Owner
Perintah chown (change owner) mengubah pemilik file, dan sekaligus dapat mengubah grupnya.
sudo chown budi catatan.txt
sudo chown budi:developer catatan.txt
sudo chown -R budi /home/budiOpsi -R berguna untuk mengubah kepemilikan secara rekursif pada seluruh isi direktori. Mengubah pemilik umumnya memerlukan sudo karena hanya root yang dapat melakukannya.
chgrp: Mengubah Group
Perintah chgrp (change group) mengubah grup pemilik file. Pengguna biasa dapat menggunakan perintah ini selama ia menjadi anggota grup tujuan.
chgrp developer catatan.txtMengubah Permission
Perintah chmod (change mode) mengubah izin akses file atau direktori. Ada dua cara penulisan, yaitu metode numerik (octal) dan metode simbolik.
Metode Numerik (Octal)
Pada metode ini, setiap izin diberi nilai angka yang kemudian dijumlahkan.
| Izin | Nilai |
|---|---|
r (read) | 4 |
w (write) | 2 |
x (execute) | 1 |
| Tidak ada izin | 0 |
Tiga digit angka mewakili owner, group, dan others secara berurutan. Contoh paling umum adalah 755 dan 644.
chmod 755 skrip.sh
chmod 644 catatan.txt
chmod -R 755 /path/direktoriNilai 755 berarti owner mendapat izin baca, tulis, dan eksekusi (4+2+1), sedangkan group dan others hanya mendapat baca dan eksekusi (4+1). Nilai 644 berarti owner mendapat baca dan tulis, sedangkan group dan others hanya membaca. Sama seperti chown, opsi -R pada chmod berguna untuk mengubah izin akses secara rekursif ke seluruh isi direktori.
Metode Simbolik
Metode simbolik lebih mudah dipahami karena Anda menyebutkan pihak dan izin yang diubah secara langsung.
| Simbol | Arti |
|---|---|
u | Owner (user) |
g | Group |
o | Others |
a | Semua (all) |
+ | Menambah izin |
- | Menghapus izin |
= | Menetapkan izin |
chmod u+x skrip.sh
chmod go-w catatan.txt
chmod a+r dokumen.txtPerintah pertama menambahkan izin eksekusi bagi owner, perintah kedua menghapus izin tulis bagi group dan others, sedangkan perintah ketiga menambahkan izin baca bagi semua pihak.
Permission Default: umask
Ketika Anda membuat file atau direktori baru, sistem menetapkan izin default secara otomatis. Nilai default ini diatur oleh umask, yaitu nilai yang mengurangi izin dasar. Jalankan umask untuk melihat nilainya.
umaskNilai umask yang umum adalah 022. Artinya, izin dasar untuk file (666) dikurangi 022 menjadi 644, sedangkan izin dasar direktori (777) dikurangi 022 menjadi 755. Secara teknis, operasi yang sesungguhnya terjadi bukan pengurangan biasa, melainkan operasi bitwise yang menghapus bit izin yang ditandai oleh umask; hanya saja untuk nilai umask yang umum seperti 022, hasilnya sama persis dengan pengurangan sederhana di atas. Anda dapat mengubah nilai ini untuk sementara dengan menjalankan umask 077, atau secara permanen dengan menaruhnya di file konfigurasi shell seperti ~/.bashrc.
Special Permission
Selain tiga kelompok izin dasar, terdapat tiga izin khusus yang memiliki kegunaan tersendiri.
SUID (Set User ID)
SUID diterapkan pada file eksekusi dan membuat program berjalan dengan izin pemilik file, bukan izin pengguna yang menjalankannya. Contoh klasiknya adalah perintah passwd, yang membutuhkan akses ke file /etc/shadow. Berkat SUID, pengguna biasa dapat mengganti passwordnya sendiri tanpa diberi akses langsung ke file tersebut. SUID diberi nilai 4 dan ditulis di depan nilai izin lainnya, misalnya 4755.
chmod u+s program
chmod 4755 programSGID (Set Group ID)
SGID memiliki dua peran. Pada file eksekusi, SGID membuat program berjalan dengan izin grup pemilik file. Pada direktori, SGID membuat file baru yang dibuat di dalamnya otomatis mewarisi grup direktori tersebut. SGID diberi nilai 2, misalnya 2755.
chmod g+s /path/direktori
chmod 2755 /path/direktoriSticky Bit
Sticky bit diterapkan pada direktori yang dipakai bersama, seperti /tmp. Berkat sticky bit, setiap pengguna dapat menaruh file di direktori tersebut, tetapi hanya pemilik file (atau root) yang boleh menghapus atau mengganti namanya. Sticky bit diberi nilai 1, sehingga direktori /tmp memiliki izin 1777.
chmod +t /path/direktori
chmod 1777 /path/direktoriIzin akses dan kepemilikan file adalah fondasi keamanan Linux yang akan Anda pakai sepanjang waktu, baik sebagai pengguna desktop maupun nantinya saat mengelola server. Setelah memahami ls -l, chown, chgrp, chmod, umask, serta izin khusus SUID, SGID, dan sticky bit, Anda telah menguasai salah satu konsep paling mendasar dalam administrasi sistem. Bab berikutnya akan membawa Anda ke topik yang sama pentingnya, yaitu bagaimana perangkat lunak dikelola melalui package manager.

