Pack Camo

Kalkulator Chmod

Izin file Unix lewat kotak centang, oktal seperti 755, dan simbolik seperti rwxr-xr-x.

Semuanya berjalan di perangkat Anda — tidak ada yang diunggah.

Izin

SiapaBaca (4)Tulis (2)Eksekusi (1)Nilai
Pemilik7
Grup5
Lainnya5
Bit khusus

Mode umum

Perintah

  • Numerik
    chmod 755 script.sh
  • Simbolik
    chmod u=rwx,g=rx,o=rx script.sh
Oktal
0755
Simbolik
rwxr-xr-x
ls -l
-rwxr-xr-x
Bentuk chmod
u=rwx,g=rx,o=rx

Siapa bisa melakukan apa

  • Pemilik bisa membacanya, mengubahnya, dan menjalankannya sebagai program.
  • Anggota grup bisa membacanya dan menjalankannya sebagai program.
  • Semua orang lain bisa membacanya dan menjalankannya sebagai program.

Hitung izin file Unix dan perintah chmod

Kalkulator chmod ini mengubah izin file Linux dan macOS ke setiap bentuk yang Anda butuhkan: centang baca, tulis, dan eksekusi untuk pemilik, grup, dan pengguna lain, atau ketik mode oktal seperti <code>755</code> atau simbolik seperti <code>rwxr-xr-x</code>, dan tampilan lain ikut menyesuaikan. Anda mendapatkan perintah <code>chmod</code> yang sesuai dalam bentuk numerik dan simbolik, bit setuid, setgid, dan sticky, serta ringkasan sederhana tentang siapa boleh melakukan apa. Semua dihitung di browser Anda.

Cara menghitung izin chmod

  1. 1Centang izin yang Anda inginkan untuk Pemilik, Grup, dan Lainnya, atau ketik mode oktal seperti 644 atau simbolik seperti rw-r--r--. Anda juga bisa menempelkan satu kolom utuh dari ls -l, misalnya drwxr-sr-x.
  2. 2Pilih File atau Direktori: baca, tulis, dan eksekusi punya arti berbeda untuk masing-masing, dan penjelasannya ikut berubah.
  3. 3Tambahkan bit setuid, setgid, atau sticky bila perlu, atau mulai dari preset umum seperti 755 atau 600.
  4. 4Ketik path-nya, aktifkan Rekursif jika harus berlaku untuk seluruh pohon direktori, lalu salin perintah chmod.

Cara kerja izin oktal

Setiap file punya tiga set izin: satu untuk pemilik (u), satu untuk grup (g), dan satu untuk lainnya (o), yaitu semua orang lain. Setiap set terdiri dari tiga bit — baca, tulis, dan eksekusi — dan satu digit oktal hanyalah jumlahnya: baca bernilai 4, tulis 2, dan eksekusi 1. Jadi 7 adalah rwx (4+2+1), 6 adalah rw- (4+2), 5 adalah r-x (4+1), dan 4 adalah r-- saja.

Tiga digit membentuk mode lengkap, dengan urutan pemilik, grup, lainnya. Jadi chmod 755 memberi pemilik rwx dan semua orang lain r-x, ditulis rwxr-xr-x, sedangkan chmod 644 memberi pemilik rw- dan semua orang lain r--, ditulis rw-r--r--. Digit keempat di depan menyimpan bit khusus: 4 untuk setuid, 2 untuk setgid, dan 1 untuk sticky, seperti pada chmod 1777.

Nilai chmod yang umum

644 (rw-r--r--)
Bawaan untuk file biasa: pemilik bisa mengedit, semua orang bisa membaca. Cocok untuk HTML, gambar, dan sebagian besar konfigurasi.
755 (rwxr-xr-x)
Bawaan untuk direktori serta skrip dan program: semua orang bisa membaca dan menjalankan, hanya pemilik yang bisa mengubah.
600 (rw-------)
File privat yang hanya bisa dibaca pemilik: kunci privat SSH, file .env, kredensial. ssh menolak kunci privat yang bisa dibaca orang lain.
700 (rwx------)
Direktori privat, seperti ~/.ssh, yang hanya bisa dimasuki pemiliknya.
664 / 775
Seperti 644 dan 755, tetapi grup juga bisa menulis: untuk folder proyek bersama di mana rekan kerja berbagi satu grup.
777 (rwxrwxrwx)
Siapa pun bisa membaca, mengubah, dan menjalankan. Hampir tidak pernah menjadi solusi yang tepat untuk error izin, dan berisiko bagi keamanan di server web.
1777 (rwxrwxrwt)
Bisa ditulis semua orang dengan sticky bit, seperti /tmp: semua orang bisa membuat file, tetapi hanya pemilik file yang bisa menghapusnya.

Izin pada direktori

Pada direktori, ketiga huruf itu punya arti berbeda. Baca memungkinkan Anda melihat daftar nama di dalamnya; tulis memungkinkan Anda membuat, mengganti nama, dan menghapus entri di dalamnya; eksekusi (sering disebut search) memungkinkan Anda masuk dengan cd dan menjangkau file di dalamnya berdasarkan nama. Tulis dan baca hampir tidak berguna tanpa eksekusi, karena itu direktori hampir selalu punya x di mana pun ada r — 755, bukan 644.

Menghapus file adalah perubahan pada direktorinya, bukan pada file itu. Siapa pun yang punya izin tulis dan eksekusi pada direktori bisa menghapus file apa pun di dalamnya, bahkan file read-only yang bukan miliknya — kecuali direktori itu punya sticky bit.

Setuid, setgid, dan sticky bit

Dalam bentuk simbolik, bit khusus menggantikan huruf eksekusi: s jika eksekusi juga aktif dan S jika tidak, serta t atau T untuk sticky bit. Huruf kapital biasanya menandakan kesalahan, karena program setuid yang tidak bisa dieksekusi siapa pun tidak melakukan apa-apa.

Satu keanehan GNU coreutils: chmod 755 pada direktori tetap mempertahankan bit setuid atau setgid yang sudah ada. Untuk menghapusnya dengan angka, tulis lima digit — chmod 00755 — atau gunakan chmod g-s.

Setuid (4000, u+s)
Program yang dapat dieksekusi berjalan dengan hak pemiliknya, bukan hak pemanggilnya. passwd memakainya untuk menulis /etc/shadow sebagai root. Linux mengabaikannya pada skrip dan direktori.
Setgid (2000, g+s)
Program yang dapat dieksekusi berjalan dengan hak grupnya. Pada direktori, file baru di dalamnya mewarisi grup direktori, bukan grup utama pembuatnya — pengaturan umum untuk folder tim bersama (2775).
Sticky bit (1000, +t)
Pada direktori, hanya pemilik file, pemilik direktori, atau root yang bisa menghapus atau mengganti nama file di dalamnya. Linux modern mengabaikannya pada file.

Chmod numerik atau simbolik?

Mode numerik seperti chmod 644 file mengatur semua bit sekaligus, cocok saat Anda tahu kondisi akhirnya. Bentuk simbolik lebih fleksibel: chmod u=rw,g=r,o=r file menghasilkan hal yang sama, sedangkan chmod g+w file atau chmod o-rwx file hanya mengubah bit yang disebut dan membiarkan sisanya.

Hati-hati dengan chmod -R: satu mode untuk semua file dan direktori dalam satu pohon biasanya memberi file bit eksekusi yang tidak seharusnya. Gunakan find . -type d -exec chmod 755 {} + dan find . -type f -exec chmod 644 {} + untuk menanganinya secara terpisah, atau X kapital pada chmod -R u=rwX,go=rX, yang menambahkan eksekusi hanya ke direktori dan file yang sudah memilikinya. File baru mendapat izin awal dari umask: umask 022 menghasilkan file 644 dan direktori 755. Untuk mencocokkan nama file di skrip shell, coba Regex Tester.

Pertanyaan yang sering diajukan

Apa arti chmod 755?
755 memberi pemilik izin baca, tulis, dan eksekusi (7), serta grup dan semua orang lain izin baca dan eksekusi (5 dan 5), ditulis rwxr-xr-x. Ini mode umum untuk direktori, skrip, dan program.
Apa arti chmod 644?
644 memberi pemilik izin baca dan tulis (6), dan semua orang lain hanya baca (4 dan 4), ditulis rw-r--r--. Ini mode umum untuk file biasa seperti halaman web, gambar, dan file konfigurasi.
Apa bedanya 755 dan 644?
755 menambahkan eksekusi untuk semua orang. Pada file, itu membuatnya bisa dijalankan sebagai program; pada direktori, itu membuat orang bisa masuk ke dalamnya. Gunakan 644 untuk file yang hanya dibaca dan 755 untuk direktori dan file yang dapat dieksekusi.
Apakah chmod 777 aman?
Jarang. 777 membuat setiap pengguna di sistem bisa mengubah atau mengganti file, dan di server web bisa membuat penyerang yang masuk lewat satu situs mengubah situs lain. Sebaiknya perbaiki pemiliknya dengan chown atau beri akses ke grup (775 atau 664).
Izin apa yang seharusnya dimiliki kunci privat SSH?
600 (rw-------), atau 400 untuk read-only, dengan ~/.ssh sendiri di 700. OpenSSH menolak memakai kunci privat yang bisa dibaca pengguna lain dan melaporkan "UNPROTECTED PRIVATE KEY FILE".
Apa arti s atau t pada rwsr-xr-x?
s di posisi pemilik atau grup adalah bit setuid atau setgid dengan eksekusi juga aktif; t di posisi lainnya adalah sticky bit. S atau T kapital berarti bit khusus aktif tanpa izin eksekusi di bawahnya.
Bagaimana cara mengubah rwxr-xr-x menjadi angka?
Bagi menjadi tiga kelompok — rwx, r-x, r-x — lalu jumlahkan r=4, w=2, dan x=1 di setiap kelompok: 7, 5, 5, sehingga menjadi 755. Ketik di kolom simbolik di atas untuk mengonversinya seketika.
Apakah alat ini mengubah file?
Tidak. Alat ini hanya menghitung mode dan perintahnya; Anda sendiri yang menjalankan perintah itu. Semua terjadi di browser Anda.