Memahami Izin File Linux dan Cara Mengelolanya
Salah satu dasar utama dari keamanan sistem Linux dan arsitektur multi-pengguna adalah model izin file-nya. Berbeda dengan Windows, Linux secara ketat menegakkan kepemilikan dan kontrol akses untuk setiap file dan direktori dalam sistem. Menguasai izin file bukan hanya tentang keamanan — itu penting untuk mengelola server, menerapkan perangkat lunak, menjalankan skrip, dan mengotomatiskan tugas.
Model Izin File Linux
Setiap file dan direktori di Linux memiliki tiga jenis hak akses, yang diberikan kepada tiga jenis pengguna:
| Kelas Pengguna | Deskripsi |
|---|---|
| pemilik | Pengguna yang memiliki file |
| grup | Pengguna dalam grup file |
| lainnya | Semua pengguna lain di sistem |
Setiap kelas dapat diberikan tiga jenis izin:
| Izin | Simbol | Arti |
|---|---|---|
| baca | r | Melihat isi file / daftar dir |
| tulis | w | Mengubah file atau direktori |
| eksekusi | x | Menjalankan file atau mengakses direktori |
Melihat Izin dengan ls -l
Gunakan perintah ls -l untuk menampilkan izin file:
ls -l myscript.sh
Output:
-rwxr-xr-- 1 alice devs 2048 Jan 25 10:00 myscript.sh
Rincian:
- – → file reguler
- rwx → pemilik (baca/tulis/eksekusi)
- r-x → grup (baca/eksekusi)
- r– → lainnya (baca saja)
Mengubah Izin dengan chmod
📌 Mode Simbolik:
chmod u+x myscript.sh # Add execute to user chmod g-w myscript.sh # Remove write from group chmod o=r myscript.sh # Set read-only for others
📌 Mode Numerik:
chmod 755 myscript.sh # rwx for owner, rx for group, rx for others
| Octal | Arti |
|---|---|
| 7 | rwx |
| 6 | rw- |
| 5 | r-x |
| 4 | r– |
| 0 | — |
Contoh:
chmod 644 file.txt # owner: rw-, group: r--, others: r-- chmod 700 script.sh # owner: rwx, group/others: ---
Mengelola Kepemilikan dengan chown dan chgrp
Ubah pemilik file:
chown alice file.txt
Ubah grup:
chgrp devs file.txt
Ubah keduanya:
chown bob:admins file.txt
Gunakan -R untuk menerapkan perubahan secara rekursif:
chown -R www-data:www-data /var/www/
Bit Izin Khusus
Linux mendukung tiga mode khusus yang memodifikasi perilaku default:
1. SUID (Set User ID)
- Berfungsi pada file yang dapat dieksekusi
- Menjalankan dengan hak istimewa pemilik, bukan pemanggil
chmod u+s /usr/bin/passwd
🔍 output ls -l: -rwsr-xr-x
Kasus penggunaan: /usr/bin/passwd harus dijalankan sebagai root untuk memperbarui /etc/shadow.
SGID (Set Group ID) s
- Pada file: dijalankan dengan hak grup file
- Pada direktori: file baru mewarisi grup
chmod g+s /opt/project
🔍 output ls -l: drwxr-sr-x
Berguna di folder pengembangan bersama.
Sticky Bit t
- Pada direktori: hanya pemilik yang dapat menghapus/mengganti nama file mereka
- Umum di /tmp untuk melindungi file pengguna
chmod +t /shared/folder
ls -ld /tmpdrwxrwxrwt 10 root root 4096 Jan 28 12:00 /tmp
Memahami umask
umask mengatur izin default untuk file/direktori baru:
Periksa nilai saat ini: umask
Nilai umum: 0022
| File | Izin default | Dengan umask 0022 |
|---|---|---|
| File | 666 → 644 | rw-r–r– |
| Dir | 777 → 755 | rwxr-xr-x |
Atur umask sementara:
umask 0077 # Files: 600, Dirs: 700
Perbaikan Izin Rekursif
Atur izin folder dan file secara terpisah:
find /my/project -type d -exec chmod 755 {} ; find /my/project -type f -exec chmod 644 {} ;
Kesimpulan
Izin file Linux memberikan kontrol akses yang halus untuk keamanan, lingkungan multi-pengguna, dan otomatisasi. Memahami cara melihat, mengubah, dan menegakkan izin memberdayakan Anda untuk mengelola server dengan percaya diri, melindungi data, dan berkolaborasi dengan aman.
Apakah Anda menerapkan aplikasi web, mengelola server cloud, atau membangun skrip shell — mengetahui cara menggunakan chmod, chown, umask, dan bit izin khusus adalah hal yang penting.
