15%

Hemat 15% di Semua Layanan Hosting

Uji kemampuanmu dan dapatkan Diskon pada paket hosting apa saja

Gunakan kode:

Skills
Memulai
16.08.2025

Cara Memeriksa Izin File di Linux: Panduan Lengkap

Linux menggerakkan mayoritas server dunia — dari lingkungan VPS Hosting hingga Dedicated Servers tingkat enterprise — dan ada alasan yang bagus untuk itu. Linux cepat, stabil, dan dibangun dengan keamanan di intinya. Salah satu pilar paling fundamental dari keamanan tersebut adalah sistem izin file: mekanisme yang presisi dan elegan yang mengontrol dengan tepat siapa yang dapat membaca, memodifikasi, atau menjalankan file atau direktori apa pun di sistem.

Baik Anda seorang pengembang yang menerapkan aplikasi web, administrator sistem yang mengamankan server, atau pemula yang mempelajari baris perintah, memahami cara memeriksa dan menafsirkan izin file di Linux adalah keterampilan yang tidak dapat ditawar. Panduan ini mencakup semua yang perlu Anda ketahui — dari dasar-dasar model izin hingga bit khusus tingkat lanjut — dengan perintah praktis dan contoh dunia nyata.

Apa Itu Izin File Linux?

Setiap file dan direktori di Linux memiliki serangkaian izin yang terlampir padanya. Izin ini menentukan tindakan apa yang diizinkan dan oleh siapa. Ada tiga jenis izin inti:

IzinSimbolApa yang Dilakukannya pada FileApa yang Dilakukannya pada Direktori
BacarLihat isi fileDaftar nama file di dalamnya
TuliswModifikasi atau hapus fileBuat atau hapus file di dalamnya
JalankanxJalankan file sebagai programMasuki (navigasi ke) direktori

Ketiga izin ini diterapkan secara independen ke tiga kategori pengguna yang berbeda:

  • Pemilik (pengguna) — Pengguna yang memiliki file, biasanya pembuatnya.
  • Grup — Pengguna apa pun yang termasuk dalam grup file yang ditugaskan.
  • Lainnya — Semua orang lain di sistem.

Matriks izin tiga-kali-tiga ini memberikan administrator Linux kontrol yang granular dan kuat atas akses ke setiap sumber daya di sistem.

Cara Memeriksa Izin File: Perintah ls -l

Metode tercepat dan paling umum digunakan untuk memeriksa izin file adalah perintah ls -l (format daftar panjang).

ls -l file.txt

Contoh output:

-rw-r--r-- 1 alice developers 1024 Aug 16 12:30 file.txt

Mari kita uraikan setiap komponen dari output ini:

-  rw-  r--  r--   1   alice   developers   1024   Aug 16 12:30   file.txt
│   │    │    │    │     │          │          │         │             │
│   │    │    │    │     │          │          │         │             └─ Filename
│   │    │    │    │     │          │          │         └─ Last modified
│   │    │    │    │     │          │          └─ File size (bytes)
│   │    │    │    │     │          └─ Group name
│   │    │    │    │     └─ Owner name
│   │    │    │    └─ Number of hard links
│   │    │    └─ Others' permissions
│   │    └─ Group's permissions
│   └─ Owner's permissions
└─ File type (- = regular file, d = directory, l = symlink)

Jadi -rw-r--r-- memberi tahu kami:

  • Pemilik (alice): Baca + Tulis (rw-)
  • Grup (developers): Hanya baca (r--)
  • Lainnya: Hanya baca (r--)

Memeriksa Izin untuk Beberapa File

Untuk melihat izin semua file dalam direktori sekaligus:

ls -la /var/www/html

Bendera -a menyertakan file tersembunyi (yang dimulai dengan titik). Ini sangat berguna saat mengaudit direktori server web di lingkungan Shared Web Hosting atau VPS.

Mendapatkan Informasi Izin Terperinci dengan stat

Untuk rincian yang lebih menyeluruh — termasuk representasi simbolis dan numerik — gunakan perintah stat:

stat file.txt

Contoh output:

  File: file.txt
  Size: 1024            Blocks: 8          IO Block: 4096   regular file
Device: fd01h/64769d    Inode: 131073      Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/   alice)   Gid: ( 1000/developers)
Access: 2024-08-16 12:30:00.000000000 +0000
Modify: 2024-08-16 12:30:00.000000000 +0000
Change: 2024-08-16 12:30:00.000000000 +0000

Baris kuncinya adalah:

Access: (0644/-rw-r--r--)  Uid: ( 1000/   alice)   Gid: ( 1000/developers)

Ini memberi Anda:

  • Notasi numerik (oktal): 0644
  • Notasi simbolis: -rw-r--r--
  • ID Pengguna (UID) dan ID Grup (GID) dengan nama yang dapat dibaca manusia

Perintah stat sangat berharga saat memecahkan masalah kesalahan izin di server produksi, karena memberikan semua konteks yang Anda butuhkan dalam satu output.

Memahami Notasi Izin Numerik (Oktal)

Izin Linux dapat diekspresikan sebagai angka, yang merupakan format yang digunakan oleh perintah seperti chmod. Setiap jenis izin diberi nilai:

IzinNilai Numerik
Baca (r)4
Tulis (w)2
Jalankan (x)1
Tidak ada izin (-)0

Anda menghitung nilai izin untuk setiap kategori pengguna dengan menambahkan nilai-nilainya bersama-sama:

KombinasiPerhitunganNilai Numerik
rwx4 + 2 + 17
rw-4 + 2 + 06
r-x4 + 0 + 15
r--4 + 0 + 04
---0 + 0 + 00

Angka oktal tiga digit mewakili set izin lengkap:

0644  →  Owner: 6 (rw-)  |  Group: 4 (r--)  |  Others: 4 (r--)
0755  →  Owner: 7 (rwx)  |  Group: 5 (r-x)  |  Others: 5 (r-x)
0700  →  Owner: 7 (rwx)  |  Group: 0 (---)  |  Others: 0 (---)

Memeriksa Izin pada Direktori

Direktori menggunakan model izin yang sama, tetapi makna setiap bit sedikit berbeda. Gunakan ls -ld (perhatikan bendera -d) untuk memeriksa direktori itu sendiri daripada isinya:

ls -ld myfolder

Contoh output:

drwxr-x--- 2 alice developers 4096 Aug 16 12:30 myfolder

d di awal mengkonfirmasi ini adalah direktori. Izin terurai sebagai:

  • Pemilik (alice): rwx — Dapat mendaftar, membuat/menghapus file, dan memasuki direktori
  • Grup (developers): r-x — Dapat mendaftar file dan memasuki, tetapi tidak dapat membuat atau menghapus
  • Lainnya: --- — Tidak ada akses sama sekali

> Penting: Bit jalankan (x) pada direktori berarti kemampuan untuk memasuki direktori (yaitu, menggunakan cd). Tanpa x, pengguna tidak dapat menavigasi ke direktori bahkan jika mereka memiliki izin baca. Ini adalah sumber kebingungan yang umum bagi pendatang baru.

Bit Izin Khusus: setuid, setgid, dan Sticky Bit

Selain sembilan bit izin standar, Linux mendukung tiga bit izin khusus yang menyediakan kontrol akses tingkat lanjut:

1. setuid (s pada bit jalankan pemilik)

Ketika diatur pada file yang dapat dijalankan, program berjalan dengan hak istimewa pemilik file daripada pengguna yang memanggil. Ini adalah cara perintah seperti passwd memungkinkan pengguna biasa untuk memodifikasi /etc/shadow (yang dimiliki oleh root).

ls -l /usr/bin/passwd
-rwsr-xr-x 1 root root 54256 Mar 27 2023 /usr/bin/passwd

s di posisi jalankan pemilik menunjukkan setuid.

2. setgid (s pada bit jalankan grup)

Pada file, program berjalan dengan hak istimewa grup. Pada direktori, file baru yang dibuat di dalamnya secara otomatis mewarisi grup direktori — berguna untuk folder proyek bersama.

ls -ld /shared/project
drwxrwsr-x 2 alice developers 4096 Aug 16 12:30 /shared/project

3. Sticky Bit (t pada bit jalankan lainnya)

Ketika diatur pada direktori, hanya pemilik file (atau root) yang dapat menghapus atau mengganti nama file di dalamnya, bahkan jika orang lain memiliki izin tulis. Ini adalah konfigurasi standar untuk /tmp:

ls -ld /tmp
drwxrwxrwt 12 root root 4096 Aug 16 12:30 /tmp

t di akhir menandakan sticky bit aktif.

Representasi numerik bit khusus:

Bit KhususNilai Numerik
setuid4000
setgid2000
Sticky bit1000

Jadi drwxrwxrwt = 1777 (1000 + 777).

Tabel Referensi Izin Lengkap

SimbolisNumerikMakna pada FileMakna pada Direktori
---0Tidak ada aksesTidak ada akses
--x1Hanya jalankanHanya masuk
-w-2Hanya tulisModifikasi isi (dengan x)
-wx3Tulis + JalankanMasuk dan modifikasi
r--4Hanya bacaDaftar nama (memerlukan x untuk berguna)
r-x5Baca + JalankanDaftar dan masuk
rw-6Baca + TulisDaftar dan modifikasi (tanpa memasuki)
rwx7Akses penuhKontrol penuh

Contoh Izin Dunia Nyata

Berikut adalah pola izin paling umum yang akan Anda temui dalam praktik:

-rw-r--r-- (0644) — File Standar

-rw-r--r-- 1 alice developers 1024 Aug 16 12:30 config.txt

Pemilik dapat membaca dan menulis. Grup dan lainnya hanya dapat membaca. Khas untuk file konfigurasi dan konten web.

-rwxr-xr-x (0755) — Skrip atau Biner yang Dapat Dijalankan

-rwxr-xr-x 1 alice developers 4096 Aug 16 12:30 deploy.sh

Pemilik memiliki akses penuh. Semua orang lain dapat membaca dan menjalankan tetapi tidak dapat memodifikasi. Standar untuk skrip shell, biner server web, dan executable publik.

-rw------- (0600) — File Pribadi

-rw------- 1 alice alice 1679 Aug 16 12:30 id_rsa

Hanya pemilik yang dapat membaca atau menulis. Tidak ada akses untuk orang lain. Diperlukan untuk kunci pribadi SSH — SSH akan menolak menggunakan file kunci dengan izin yang lebih luas.

drwxr-xr-x (0755) — Direktori Publik Standar

drwxr-xr-x 5 alice developers 4096 Aug 16 12:30 public_html

Umum untuk direktori root web. Pemilik memiliki kontrol penuh; orang lain dapat menjelajahi dan memasuki.

drwx------ (0700) — Direktori Pribadi

drwx------ 3 alice alice 4096 Aug 16 12:30 .ssh

Sepenuhnya pribadi. Hanya pemilik yang dapat mengakses. Diperlukan untuk direktori ~/.ssh.

drwxrwxrwt (1777) — Dapat Ditulis Dunia dengan Sticky Bit

drwxrwxrwt 12 root root 4096 Aug 16 12:30 /tmp

Semua orang dapat membuat file, tetapi hanya pemilik setiap file yang dapat menghapus file mereka sendiri.

Tips Praktis untuk Lingkungan Server

Jika Anda mengelola server Linux — baik itu VPS yang menjalankan aplikasi web, server email yang diamankan dengan Sertifikat SSL, atau mesin yang menghost beberapa domain yang terdaftar melalui Pendaftaran Domain — berikut adalah beberapa praktik terbaik izin penting:

  1. Jangan pernah atur 777 pada file atau direktori kecuali Anda memiliki alasan yang sangat spesifik dan sementara. File yang dapat ditulis dunia adalah risiko keamanan utama.
  2. File server web (misalnya
15%

Hemat 15% di Semua Layanan Hosting

Uji kemampuanmu dan dapatkan Diskon pada paket hosting apa saja

Gunakan kode:

Skills
Memulai