chmod dalam bahasa Indonesia — Mengapa Semua Orang Menulis 755 Tanpa Memahami Artinya
755, 644, 777 — Anda telah mengetikkan ini ratusan kali. Ini artinya sebenarnya, mengapa chmod 777 tidak cerdas bukan jahat, dan kapan nilai masing-masing benar-benar sesuai.
Pada suatu waktu awal karier Anda, seseorang pernah mengatakan kepada Anda untuk menjalankan chmod 755 pada direktori atau chmod 644 pada file konfigurasi. Ini berhasil. Anda melanjutkan. Sekarang, setelah bertahun-tahun, Anda masih mengetik angka-angka tersebut secara otomatis dari ingatan otomatis — dan jika seseorang bertanya kepada Anda untuk menjelaskan apa artinya 755, Anda mengangguk secara kasar ke layar dan mengatakan “itu adalah hal yang standar tentang izin.”
Ini baik, sampai tidak lagi. Saat Anda perlu memperbaiki kesalahan izin ditolak, memutuskan apa yang harus dimasukkan ke dalam skrip baru, atau menjelaskan kepada pengembang muda mengapa chmod 777 bukan solusi untuk segala hal — tiba-tiba ingatan otomatis tidak cukup lagi.
Berikut arti dari angka-angka tersebut.
Struktur Bit
Izin file Unix terdiri dari tiga set bit. Itu saja. Setiap set mengontrol apa yang dapat dilakukan oleh satu kategori pengguna — pemilik, kelompok, orang lain — dan setiap bit dalam set tersebut berhubungan dengan baca, tulis, atau eksekusi.
Nilai-nilainya adalah: baca = 4, tulis = 2, eksekusi = 1. Anda menambahkan nilai-nilai tersebut untuk setiap set. Jadi 7 berarti baca + tulis + eksekusi (4+2+1). 5 berarti baca + eksekusi (4+1). 4 berarti hanya baca.
Hancurkan 755: pemilik mendapatkan 7 (rwx), kelompok mendapatkan 5 (r-x), orang lain mendapatkan 5 (r-x). Dalam bentuk biner: 111 101 101. Dalam notasi simbolik: rwxr-xr-x. Default yang telah Anda ketik selama berabad-abad adalah hanya “pemilik dapat melakukan semua hal, semua orang lain dapat membaca dan mengakses tetapi tidak dapat menulis.”
Membaca Output ls -la
sebelum menambahkan indeks apa pun. Pastikan masalahnya terlebih dahulu. ls -la dalam setiap direktori dan Anda mendapatkan sesuatu seperti ini:
drwxr-xr-x 2 deploy www-data 4096 May 29 10:00 public_html
-rw-r--r-- 1 deploy www-data 2341 May 29 09:45 config.php
-rwx------ 1 deploy deploy 891 May 28 14:20 deploy.sh
-rw------- 1 deploy deploy 411 May 10 08:30 .env
Karakter pertama adalah jenis file: d untuk direktori, - untuk file biasa, l untuk symlink. Lalu datang tiga kelompok tiga karakter — pemilik, kelompok, orang lain. Tanda garis berarti izin tidak ada.
Angka setelah izin adalah jumlah tautan keras. Lalu nama pemilik, nama kelompok, ukuran file dalam byte, waktu modifikasi, dan akhirnya nama file.
Jadi drwxr-xr-x 2 deploy www-data berarti: direktori, pemilik (deploy) dapat membaca/tulis/eksekusi, kelompok (www-data) dapat membaca dan memasuki tetapi tidak dapat menulis, semua orang lain dapat membaca dan memasuki tetapi tidak dapat menulis. Dua tautan keras. Itu adalah direktori web standar Anda.
Nilai Izin Umum dan Alasannya
Berikut adalah penjabaran nilai-nilai yang Anda gunakan sehari-hari, artinya, dan kapan Anda harus menggunakan masing-masing:
| Nilai | Simbolis | Biner | Tidak ada kepala 'Access-Control-Allow-Origin' | Kapan digunakan |
|---|---|---|---|---|
755 | rwxr-xr-x | 111 101 101 | Pemilik: lengkap. Kelompok/Orang lain: baca + eksekusi | Direktori, eksekusi publik, skrip yang disajikan di web |
644 | rw-r–r– | 110 100 100 | Pemilik: baca + tulis. Kelompok/Orang lain: hanya baca | File konfigurasi, aset statis, HTML, file sumber PHP |
600 | rw——- | 110 000 000 | Pemilik: baca + tulis. Semua orang lain: tidak ada | Kunci SSH (~/.ssh/id_rsa), file .env |
700 | rwx—— | 111 000 000 | Pemilik: lengkap. Semua orang lain: tidak ada | Skrip yang mengandung rahasia, eksekusi privat |
777 | rwxrwxrwx | 111 111 111 | Semua orang: akses penuh | /tmp, direktori sementara kontainer — hampir tidak ada di mana pun lainnya |
Alasannya direktori membutuhkan izin eksekusi adalah karena “eksekusi” pada direktori berarti “memasuki” — kemampuan untuk memasuki direktori dan mengakses isinya. Jika direktori adalah r--r--r--, Anda dapat melihat nama-nama file di dalamnya tetapi tidak dapat mengaksesnya. Anda perlu bit x untuk cd ke dalamnya atau membuka file. Itu sebabnya 755 dan bukan 744 untuk direktori.
Jika Anda ingin bekerja melalui nilai-nilai ini secara interaktif, maka Kalkulator chmod di IO Tools mengizinkan Anda untuk mengganti bit secara individu dan melihat nilai oktal dan simbolik yang diperbarui secara real-time — berguna saat Anda perlu membangun nilai izin yang tidak dikenal.
Notasi Simbolik: Kapan Digunakan Sebagai Alternatif
Notasi oktal menetapkan semua izin sekaligus. Notasi simbolik membuat perubahan bertahap. Keduanya valid — pilihan tergantung pada apa yang Anda lakukan.
chmod u+x script.sh menambahkan izin eksekusi untuk pemilik tanpa mengganggu hal lain. Jika file saat ini adalah 644, ini akan membuatnya menjadi 744. Jika Anda menggunakan notasi oktal dan menulis chmod 744 script.sh, Anda akan mendapatkan hasil yang sama — tetapi Anda perlu tahu keadaan saat ini terlebih dahulu.
Operator simbolik sangat sederhana: + menambahkan izin, - menghapusnya, = mengatur secara tepat. Targetnya adalah u (pemilik/penyedia), g (kelompok), o (orang lain), a (ketiganya).
chmod u+x deploy.sh # add execute for owner
chmod g-w config.php # remove write from group
chmod o=r public/index.html # set others to read-only exactly
chmod a+r shared.txt # add read for everyone
Gunakan notasi simbolik ketika Anda ingin mengubah satu izin tanpa mengatur ulang semua hal lainnya. Gunakan notasi oktal ketika Anda menetapkan izin dari awal atau ingin memiliki kendali penuh atas keadaan akhir.
Mengapa File Baru Tidak Dibuat dengan 666 Secara Default
Buat file baru dengan editor teks atau touch dan Anda akan mendapatkan 644. Buat direktori dan Anda akan mendapatkan 755. Dari mana nilai-nilai default ini berasal?
File dimulai dari nilai maksimum teoritis 666 (tidak ada izin eksekusi secara default — itu harus disetel secara eksplisit). Direktori dimulai dari 777. Nilai umask mengurangi dari nilai maksimum tersebut.
Nilai umask default pada kebanyakan sistem Linux adalah 022. Diterapkan pada file: 666 – 022 = 644. Diterapkan pada direktori: 777 – 022 = 755. Itu sebabnya 644 dan 755 terasa seperti default — mereka benar-benar mekanis.
sebelum menambahkan indeks apa pun. Pastikan masalahnya terlebih dahulu. umask dengan tidak ada argumen untuk melihat nilai saat ini Anda. Ubah di profil shell Anda jika Anda butuh default yang lebih ketat — umask 027 memberikan file 640 dan direktori 750, yang menghilangkan semua izin untuk “orang lain” dan hanya memungkinkan kelompok untuk membaca.
chmod 777: Bukan Keburukan, Hanya Kebodohan
Berikut pendapat yang jujur tentang chmod 777: ini bukan krisis keamanan dalam setiap konteks. Ini hampir tidak pernah jawaban yang tepat di produksi, dan orang menggunakan ini karena membuat kesalahan izin hilang tanpa membutuhkan pertimbangan.
Pada server bersama, chmod 777 pada direktori yang dapat ditulis berarti setiap proses yang berjalan di bawah setiap pengguna — termasuk aplikasi web yang terkompromi — dapat menulis ke direktori tersebut. Ini adalah area serangan nyata. Ini juga jenis hal yang sering kali tetap berada di produksi selamanya karena “kita akan memperbaikinya nanti.”
Penggunaan yang tepat untuk 777:
- /tmp di container sementara — tidak ada yang tersimpan, tidak ada yang penting, lanjutkan
- Pengembangan untuk memperbaiki masalah izin — gunakan untuk memastikan bahwa masalah izin adalah masalahnya, lalu atur nilai yang benar
- Direktori sementara yang dibagikan di mesin tunggal yang dipercaya — jika Anda satu-satunya pengguna, izin “orang lain” adalah hal yang tidak penting
Alur diagnosis adalah: mengalami kesalahan izin ditolak, sementara gunakan 777 untuk memastikan bahwa ini adalah masalah izin bukan sesuatu yang lain, lalu tentukan nilai izin yang benar dan atur nilai tersebut. chmod 777 sebagai alat diagnosis adalah baik. chmod 777 dalam skrip deploy yang tidak pernah diperiksa lagi adalah bagaimana kebocoran terjadi.
Nilai yang Perlu Diketahui
Anda tidak perlu menghafal setiap kombinasi yang mungkin. Empat nilai ini mencakup sekitar 95% kasus dunia nyata:
- 755 — direktori dan eksekusi yang seharusnya dapat diakses secara publik
- 644 — file yang seharusnya dapat dibaca oleh semua orang tetapi hanya dapat ditulis oleh pemilik
- 600 — file sensitif: kunci SSH, kredensial, file .env. SSH akan menolak menggunakan kunci privat yang tidak 600 atau lebih ketat.
- 700 — skrip yang berjalan dengan rahasia di dalamnya dan tidak seharusnya dijalankan oleh siapa pun lainnya
Ketika Anda menemukan sesuatu yang tidak dalam rentang ini, kerjakan dari struktur bit: tentukan apa yang dibutuhkan pemilik, kelompok, dan orang lain, jumlahkan bit-bitnya, tulis angkanya. Perangkat Kalkulator Chmod berguna di sini jika Anda lebih memilih tidak melakukan perhitungan mental di bawah tekanan.
Model izin ini adalah salah satu hal di Unix yang terlihat acak sampai Anda memahami bahwa itu hanyalah penjumlahan biner. Setelah itu terjadi, Anda berhenti mengikuti tradisi orang lain dalam perintah chmod dan mulai menetapkan izin secara sengaja — yang merupakan tujuan utamanya.
Instal Ekstensi Kami
Tambahkan alat IO ke browser favorit Anda untuk akses instan dan pencarian lebih cepat
恵 Papan Skor Telah Tiba!
Papan Skor adalah cara yang menyenangkan untuk melacak permainan Anda, semua data disimpan di browser Anda. Lebih banyak fitur akan segera hadir!
Alat Wajib Coba
Lihat semua Pendatang baru
Lihat semuaMemperbarui: Kita alat terbaru ditambahkan pada 17 Juni 2026
