Kalkulator Chmod

Hitung izin file Linux dari dua arah. Centang baca, tulis, dan jalankan untuk pemilik, grup, dan pengguna lain agar mendapat mode oktal dan perintah yang harus dijalankan, atau tempel 755, rwxr-xr-x, u+x, atau satu baris ls -l dan lihat persis artinya.

Dihitung di browser Anda · tidak ada yang dikirim ke mana pun · perilaku POSIX dan GNU coreutils
File
Direktori

Ketik 755, tempel rwxr-xr-x atau satu baris ls -l, atau ubah mode dengan u+x atau go-w.

Jenis
Baca4Tulis2Jalankan1Digit
Pemilik4+2+1=7
Grup4+1=5
Pengguna lain4+1=5
Khusustidak ada=0

Dengan kata sederhana

  • Pemilik dapat membacanya, mengubahnya, dan menjalankannya.
  • Grup dan pengguna lain dapat membacanya dan menjalankannya.
  • File ini dapat dijalankan.

Dihitung di browser Anda. Tidak ada yang dikirim ke mana pun.

Apa fungsi chmod?

chmod menentukan siapa yang boleh membaca, menulis, dan menjalankan sebuah file. Mode terdiri dari dua belas bit, biasanya ditulis sebagai tiga atau empat digit oktal: 755, 644, 2775.

Setiap dari tiga digit itu milik satu kelas — pemilik file, grup file, dan pengguna lain — dan setiap digit adalah jumlah tiga angka: baca bernilai 4, tulis 2, jalankan 1. Jadi 7 berarti baca, tulis, dan jalankan; 5 berarti baca dan jalankan; 6 berarti baca dan tulis; 4 hanya baca. Itulah seluruh sistemnya. chmod 755 script.sh berarti: pemilik 7, grup 5, pengguna lain 5.

Digit keempat, bila ada, membawa tiga bit khusus — setuid 4, setgid 2, dan bit sticky 1 — dan dihilangkan bila tidak satu pun terpasang. Kalkulator di atas menampilkan keempat digit sekaligus beserta hitungan di balik masing-masing, jadi Anda tidak perlu lagi mencari angkanya.

Mode terdiri dari dua belas bitchmod 755 script.sh
Sebelumscript.sh
Khususs4s2t10
Pemilikr4w2x16
Grupr4w2x14
Pengguna lainr4w2x14
-rw-r--r--0644
Sesudahscript.sh
Khususs4s2t10
Pemilikr4w2x17
Grupr4w2x15
Pengguna lainr4w2x15
-rwxr-xr-x0755
chmod 755 mengatur setiap bit mode sekaligus: dari 644, tiga bit execute dinyalakan, satu untuk setiap kelas. Tiga bit tiap kelas dijumlahkan menjadi satu digit oktal.
Kalkulator chmod menampilkan mode 755 sebagai kisi izin, digit oktalnya, bentuk simbolis, dan perintah chmodKalkulator chmod menampilkan mode 755 sebagai kisi izin, digit oktalnya, bentuk simbolis, dan perintah chmodCentang atau ketikKisi dan kolom isian adalah hal yang sama: ubah salah satunya dan yang lain mengikuti.Setiap digit4 + 2 + 1 untuk setiap kelas, jadi angkanya tidak perlu dihafalkan lagi.Tempel apa saja755, rwxr-xr-x, u+x, atau satu baris ls -l — keempatnya terbaca.PerintahnyaDibuat dari mode yang Anda pilih, dengan jumlah digit yang tepat dan bentuk rekursif yang tidak meratakan file Anda.ArtinyaSatu kalimat sederhana, ditambah peringatan yang pantas diberikan.
Mode 755 diurai: kisinya, hitungan di balik setiap digit, bentuk simbolis, dan perintah yang dijalankan. Pilih sebuah nomor untuk melihat fungsi tiap bagian.

Cara kerja izin file Linux

Setiap file punya pemilik, grup, dan mode. Mode memberi tiga izin kepada masing-masing dari tiga kelas — sembilan bit — dan tepat setelah karakter jenis file, ls -l mencetak sembilan karakter itu.

-rw-r--r-- adalah file (-) yang boleh dibaca dan ditulis pemiliknya, sedangkan grup dan pengguna lain hanya boleh membaca: mode 644. drwxr-xr-x adalah direktori (d) dengan mode 755. Karakter pertama menunjukkan jenisnya: - file, d direktori, l tautan simbolis, dan b, c, p, atau s untuk jenis khusus. Tempel salah satu baris itu ke kalkulator dan ia membaca mode dan jenisnya.

Pada direktori, ketiga izin itu berarti lain dari pada file. Baca memungkinkan Anda melihat daftar nama di dalamnya. Jalankan (execute) memungkinkan Anda masuk ke dalamnya dan menjangkau file yang sudah Anda ketahui namanya. Tulis, bersama execute, memungkinkan Anda membuat dan menghapus entri — itulah sebabnya menghapus file bergantung pada izin direktori, bukan izin file. Direktori dengan izin baca tetapi tanpa execute adalah direktori yang bisa Anda lihat daftarnya tetapi tidak bisa dibuka.

Yang pertama dicetak ls -lls -l notes.txt
IzinPada filePada direktori
r4Membaca isinyaMelihat daftar nama di dalamnya
w2Mengubah isinyaMembuat, mengganti nama, dan menghapus entri
x1Menjalankannya sebagai programMasuk ke dalamnya dan membuka isinya

Karakter pertama lainnya: d direktori, l tautan simbolis, dan b, c, p, atau s untuk jenis khusus.

Apa arti chmod 755?

755 berarti pemilik dapat membaca, menulis, dan menjalankan file, sedangkan semua orang lain dapat membaca dan menjalankannya tetapi tidak dapat mengubahnya. Ini mode yang lazim untuk direktori dan untuk program.

Digit demi digit: 7 = 4 + 2 + 1, jadi pemilik membaca, menulis, dan menjalankan. 5 = 4 + 1 untuk grup dan sekali lagi untuk pengguna lain, jadi keduanya membaca dan menjalankan. Ditulis lengkap menjadi rwxr-xr-x, dan sebagai perintah simbolis chmod u=rwx,g=rx,o=rx.

Pakai untuk direktori yang harus bisa dimasuki orang, dan untuk skrip dan biner yang harus bisa mereka jalankan. Jangan pakai untuk apa pun yang rahasia: angka 5 yang terakhir berarti setiap akun di mesin itu dapat membaca file tersebut. Untuk file server web, dokumentasi WordPress sendiri menyarankan 755 atau 750 untuk direktori dan 644 atau 640 untuk file.

755, digit demi digitchmod 755
7=r4w2x14+2+1rwxPemilik
5=r4-2x14+1r-xGrup
5=r4-2x14+1r-xPengguna lain
Pakai untuk
  • Direktori yang perlu dimasuki orang
  • Skrip dan program
Bukan untuk
  • Apa pun yang rahasia: semua orang dapat membacanya

Dokumentasi WordPress sendiri: direktori 755 atau 750, file 644 atau 640.

chmod 644 vs 755: mana yang saya perlukan?

644 untuk file, 755 untuk direktori dan untuk apa pun yang harus dijalankan. Satu-satunya perbedaan adalah bit execute.

644 adalah rw-r--r--: pemilik dapat mengubahnya, semua orang dapat membacanya, tidak ada yang dapat menjalankannya. Itu tepat untuk HTML, CSS, gambar, konfigurasi, dan file sumber. 755 adalah rwxr-xr-x: sama, ditambah bit execute untuk ketiga kelas. Direktori memerlukannya agar bisa dimasuki, dan skrip memerlukannya agar shell mau menjalankannya.

Kesalahan yang perlu dihindari adalah chmod -R 755 pada seluruh situs, yang membuat setiap gambar dan setiap file .php menjadi dapat dijalankan. Dua perintah find yang ditulis kalkulator memberi direktori dan file mode berbeda sekali jalan, dengan mode yang benar-benar Anda pilih, bukan sepasang angka dari sebuah blog.

Satu-satunya perbedaan adalah bit execute644 · 755
644
BacaTulisJalankan
Pemilikrw-6
Grupr--4
Lainr--4

File: HTML, CSS, gambar, konfigurasi, kode sumber

755
BacaTulisJalankan
Pemilikrwx7
Grupr-x5
Lainr-x5

Direktori, skrip, dan program

Terbalik
  • 755File bermode 755 dapat dijalankan, begitu pula setiap gambar dan file .php di bawah chmod -R 755.
  • 644Direktori bermode 644 menampilkan nama-namanya, tetapi tidak ada yang bisa masuk atau membuka isinya.

Apa yang dilakukan chmod 777, dan amankah?

777 membuat setiap akun di mesin dapat membaca, mengubah, dan menjalankan file. Hampir tidak pernah menjadi jawaban yang tepat, dan dokumentasi WordPress sendiri menyatakan tidak ada direktori yang boleh diberi mode ini.

Dapat ditulis semua orang berarti siapa pun yang bisa login — atau apa pun yang berjalan sebagai pengguna mana pun, termasuk proses yang sudah dibobol — dapat mengganti isi file. Jika file itu skrip yang dijalankan server web, Anda telah menyerahkan servernya. Halaman izin WordPress menyarankan 755 atau 750 untuk direktori dan 644 atau 640 untuk file, dan menyatakan tidak ada direktori yang boleh 777, bahkan direktori unggahan.

Bila aplikasi web tidak dapat menulis ke sebuah direktori, solusinya ada pada pemilik atau grup, bukan modenya: chown direktori itu ke pengguna yang menjalankan server web, atau masukkan pengguna itu ke grup bersama dan pakai 775. Kalkulator memberi peringatan setiap kali sebuah mode mengizinkan semua orang menulis: pada file selalu, dan pada direktori kecuali bit sticky mencegah orang saling menghapus file.

Siapa yang dapat menulis pada 777chmod 777
777Semua orang dapat mengubahnya
BacaTulisJalankan
Pemilikrwx7
Gruprwx7
Lainrwx7
  1. 1Akun mana pun, atau proses yang berjalan sebagai akun itu
  2. 2mengganti skripnya
  3. 3dan server web menjalankannya
Yang disarankan dokumentasi

WordPress · Direktori 755 atau 750, file 644 atau 640.

“Tidak ada direktori yang boleh diberi 777, bahkan direktori unggahan.”

Solusinya ada pada pemilik atau grup, bukan modenya: chown ke pengguna server web, atau bagi satu grup dan pakai 775.

Mengapa SSH mengatakan izin kunci saya terlalu terbuka?

OpenSSH menolak memakai kunci privat yang dapat dibaca siapa pun selain pemiliknya. Atur kunci ke 600 dan direktori .ssh ke 700.

Pesan persisnya adalah Permissions 0644 for '<path>' are too open., diikuti It is required that your private key files are NOT accessible by others. Pengujian di baliknya tegas: jika Anda pemilik file dan salah satu bit grup atau pengguna lain terpasang, kunci ditolak. Itu sebabnya 640 juga gagal, dan mengapa jawabannya 600, bukan “sedikit lebih rendah dari 644”.

chmod 600 ~/.ssh/id_ed25519 dan chmod 700 ~/.ssh memperbaikinya. Kunci publik boleh dibaca siapa saja — hanya kunci privat dan direktorinya yang berperan di sini. Pilih Kunci SSH di bawah mode umum di atas dan kalkulator menuliskan kedua perintahnya untuk Anda.

Yang dicetak ssh
$ssh you@server.example
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '/home/you/.ssh/id_ed25519' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Yang diperiksa OpenSSH
File-file, dan mode yang lolos
  • ~/.ssh/700drwx------Direktorinya
  • id_ed25519600-rw-------Kunci privat Anda
  • id_ed25519.pub644-rw-r--r--Kunci publik: siapa pun boleh membacanya
  • config600-rw-------Tidak dapat ditulis orang lain
Pengujiannya, bit demi bit
  • 644rw-r--r--Ditolak
  • 640rw-r-----Ditolak
  • 600rw-------Dipakai
  • 400r--------Dipakai

Grup dan pengguna lain: semuanya harus mati

Mode simbolis: u, g, o, a dengan +, - dan =

chmod u+x script.sh menambah satu bit tanpa menyentuh yang lain. + menambah, - menghapus, = mengatur sebuah kelas persis seperti yang Anda tulis.

Tata bahasanya adalah [siapa][operator][izin], dengan koma di antara klausa: u pemilik, g grup, o pengguna lain, a ketiganya. Jadi go-w mencabut izin tulis dari grup dan pengguna lain, a=rwx mengatur semuanya, dan u=rw,go=r adalah cara lain menulis 644. Tempel salah satunya ke kalkulator di atas dan ia menunjukkan bit mana yang berubah, sebelum dan sesudah.

Dua bagian tata bahasa ini mudah keliru, dan kalkulator mengikuti keduanya. X — X huruf kapital — menambah bit execute hanya pada direktori, atau pada file yang sudah dapat dijalankan oleh salah satu kelas, sehingga chmod -R u=rwX,go=rX aman dipakai pada pohon yang campur. Dan klausa tanpa kelas sama sekali, seperti +x, tidak sama dengan a+x: bit yang ada di umask Anda dibiarkan, jadi dengan umask lazim 022, chmod +rwx pada file 644 menghasilkan 755, sedangkan chmod a+rwx menghasilkan 777.

siapa · operator · izinchmod u+x script.sh
  • upemilik
  • ggrup
  • opengguna lain
  • aketiganya
  • +tambah
  • -cabut
  • =atur persis
  • rbaca
  • wtulis
  • xjalankan
  • Xjalankan, hanya pada direktori dan file yang sudah dapat dijalankan
  • ssetuid atau setgid
  • tsticky
Contoh
PerubahanSebelumSesudah
u+x644rw-r--r--744rwxr--r--Execute untuk pemilik, tidak ada yang lain disentuh.
go-w775rwxrwxr-x755rwxr-xr-xIzin tulis dicabut dari grup dan pengguna lain.
a=r755rwxr-xr-x444r--r--r--Ketiganya diatur ke baca saja, tidak ada yang lain.
u=rw,go=r777rwxrwxrwx644rw-r--r--Tiga klausa: cara lain menulis 644.
+rwx644rw-r--r--755rwxr-xr-xTanpa kelas: bit di umask (022) tidak dipasang, jadi grup dan pengguna lain tidak mendapat izin tulis.
a+rwx644rw-r--r--777rwxrwxrwxDengan a, umask tidak dihitung: semuanya dipasang.
a+Xpada direktori644rw-r--r--755rwxr-xr-xX huruf kapital pada direktori: execute ditambahkan, karena ini direktori.
a+Xpada file644rw-r--r--644rw-r--r--X huruf kapital pada file yang tidak dapat dijalankan siapa pun: tidak ada yang ditambahkan.

Setuid, setgid, dan bit sticky

Digit keempat. Pada file, setuid dan setgid mengubah akun yang menjalankan sebuah program. Pada direktori, setgid menentukan grup file baru dan bit sticky menentukan siapa yang boleh menghapusnya.

Setuid (4000) pada file yang dapat dijalankan membuatnya berjalan sebagai pemilik file, bukan sebagai Anda — passwd dipasang dengan setuid agar dapat berjalan dengan hak root saat Anda mengganti kata sandi. Setgid (2000) melakukan hal yang sama untuk grup. Pada direktori, setgid melakukan hal lain yang jauh lebih berguna: file baru di dalamnya mewarisi grup direktori, bukan grup pembuatnya, dan begitulah folder proyek bersama tetap bersama. Linux tidak mendokumentasikan arti bit setuid pada direktori; di macOS dan BSD, bit ini dapat membuat file baru memakai pemilik direktori, jika sistem file di-mount dengan opsi itu.

Bit sticky (1000) pada direktori mencegah orang menghapus file milik orang lain: hanya pemilik file, pemilik direktori, atau root yang boleh menghapus atau mengganti nama sebuah entri. /tmp bermode 1777 justru karena itu — semua orang boleh menulis di dalamnya, tidak ada yang boleh menghapus hasil kerja orang lain. Pada file biasa, macOS dan BSD mengabaikan bit sticky, dan manual GNU memberinya arti di sana hanya pada sebagian sistem lama. Satu jebakan: chmod 755 somedir — atau chmod 0755 somedir — tidak menghapus bit setgid yang sudah ada pada direktori, karena chmod GNU sengaja mempertahankannya pada mode numerik yang kurang dari lima digit — POSIX hanya mewajibkan bentuk oktal menghapusnya pada file biasa. Pakai g-s, atau lima digit chmod 00755, dan kalkulator menuliskan bentuk lima digit itu setiap kali Anda memerlukannya.

Setuid4755

Program berjalan sebagai pemilik file, bukan sebagai Anda.

Linux-rwsr-xr-x root root /usr/bin/passwd

passwd dipasang dengan cara ini, jadi berjalan dengan hak root saat Anda mengganti kata sandi.

Pada direktori: tidak ada arti yang terdokumentasi di Linux. Di macOS dan BSD, file baru memakai pemilik direktori jika sistem file di-mount dengan opsi itu.

Setgid2775

Dalam direktori, file baru memakai grup direktori, bukan grup Anda.

Linuxdrwxrwsr-x you devs project/

Direktori proyek bersama tetap bersama: setiap file baru menjadi milik tim.

Di macOS dan BSD, file baru selalu memakai grup direktorinya, dengan atau tanpa bit ini.

Sticky1777

Dalam direktori, hanya pemilik file, pemilik direktori, atau root yang boleh menghapus atau mengganti nama file.

macOSdrwxrwxrwt root wheel /private/tmp

Semua orang boleh menulis di /tmp, dan tidak ada yang boleh menghapus file orang lain.

Pada file, bit sticky diabaikan di macOS dan BSD.

Jebakan GNU: chmod 755 pada direktori membiarkan bit setgid-nya tetap menyala.

$chmod 755 project → drwxr-sr-xHapus dengan lima digit atau dengan huruf:$chmod 00755 project → drwxr-xr-x$chmod g-s project → drwxr-xr-x

umask: apa yang didapat file baru

File baru dimulai dari 666 dan direktori baru dari 777, dan setiap bit yang terpasang di umask dimatikan. Umask lazim 022 menghasilkan 644 dan 755.

umask bukan pengurangan, melainkan mask: setiap bit yang terpasang di umask dimatikan pada mode yang diminta program. Dengan umask 077, file baru bermode 600 dan direktori baru 700 — pribadi secara default. Dengan umask 002 Anda mendapat 664 dan 775: grup juga dapat menulis.

Umask tidak pernah bisa membuat file dapat dijalankan, karena mode dasar file memang tidak punya bit execute — hanya direktori yang dimulai dari 777. Itu sebabnya skrip yang baru Anda buat tidak bisa dijalankan sampai Anda mengetik chmod +x. Pindah ke tab umask di atas untuk melihat hasil umask apa pun, dan buka salah satu hasilnya langsung di kalkulator.

Dimatikan, bit demi bitumask 022
File baru
Dimulai darirw-rw-rw-666
umask····w··w·022
Hasilnyarw-r--r--644
Direktori baru
Dimulai darirwxrwxrwx777
umask····w··w·022
Hasilnyarwxr-xr-x755
Nilai umask yang umum
umaskFile baruDirektori baru
022644 rw-r--r--755 rwxr-xr-x
002664 rw-rw-r--775 rwxrwxr-x
027640 rw-r-----750 rwxr-x---
077600 rw-------700 rwx------

Tidak ada umask yang dapat membuat file dapat dijalankan: file baru dimulai tanpa bit execute yang bisa dipertahankan.

Cara mengubah sebuah folder beserta semua isinya

chmod -R 755 folder memberi direktori dan file mode yang sama, sehingga setiap file menjadi dapat dijalankan. Dua perintah find memberi masing-masing jenis mode yang semestinya.

find folder -type d -exec chmod 755 {} + dan find folder -type f -exec chmod 644 {} + masing-masing menelusuri pohon sekali dan mengatur direktori dan file secara terpisah. Kalkulator menuliskan keduanya dengan mode yang Anda pilih, bukan sepasang angka tetap. Tanda + di akhir mengelompokkan file ke dalam sesedikit mungkin proses chmod, yang penting pada pohon besar.

Cara aman lainnya adalah X huruf kapital: chmod -R u=rwX,go=rX folder menambah execute hanya pada direktori dan pada file yang sudah dapat dijalankan. Dan setelah perubahan rekursif apa pun, stat -c '%a %n' folder/* membaca kembali semuanya satu tingkat ke bawah.

Satu folder, empat cara
FoldernyaSekarang1234
site/755755644755755
index.html644755644644644
app.php644755644644644
deploy.sh755755644644755
img/755755644755755
logo.png644755644644644
  1. 1$chmod -R 755 siteSetiap file dapat dijalankan
  2. 2$chmod -R 644 siteTidak ada folder yang dapat dimasuki
  3. 3$find site -type d -exec chmod 755 {} +$find site -type f -exec chmod 644 {} +Setiap jenis mendapat modenya sendiriSkrip juga kehilangan x-nya
  4. 4$chmod -R u=rwX,go=rX siteSetiap jenis mendapat modenya sendiriFile yang sudah dapat dijalankan tetap memiliki x-nya

Adakah chmod di Windows?

Bukan hal yang sama. Windows memakai access control list, dan icacls adalah perintah yang paling mendekati: icacls file /grant Users:(RX).

Izin NTFS adalah daftar entri, masing-masing menyebut pengguna atau grup beserta haknya, jadi tidak ada satu angka tiga digit yang bisa dihitung. Terjemahan terdekat dilakukan per kelas: baca menjadi R, baca dan jalankan RX, tulis W, dan execute saja menjadi hak khusus X; digit yang memerlukan dua hak mencantumkan keduanya — 7 adalah (RX,W). Tidak ada digit yang setara Modify (M), yang juga mengizinkan penghapusan, atau Full control (F), yang juga mengizinkan mengubah izin dan mengambil alih kepemilikan. Kalkulator menampilkan pemetaan itu di samping mode Anda, dan itu padanan terdekat, bukan yang setara.

Di dalam Windows Subsystem for Linux, chmod bekerja dengan benar pada sistem file Linux. Pada drive Windows yang di-mount di /mnt/c, perintah itu hanya bekerja bila drive tersebut di-mount dengan opsi metadata. Tanpanya, mode dihitung dari hak Windows Anda, sama untuk pemilik, grup, dan pengguna lain, dan chmod hanya bisa mengatur atribut baca-saja — sehingga kunci yang disimpan di sisi Windows bisa terbaca terlalu terbuka, dan chmod 600 tidak akan memperbaikinya di sana.

Setiap digit chmod, hak icacls terdekatnyaicacls
DigitHurufHak terdekat
7rwx(RX,W)Baca, tulis, dan jalankan
6rw-(R,W)Baca dan tulis
5r-x(RX)Baca dan jalankan
4r--(R)Baca
3-wx(W,X)Tulis dan jalankan
2-w-(W)Tulis
1--x(X)Jalankan
0---—Tanpa akses

Padanan terdekat, bukan yang setara: Windows menyimpan daftar entri, masing-masing menyebut siapa mendapat hak apa. Tidak ada digit yang setara Modify (M), yang juga mengizinkan penghapusan, atau Full control (F), yang juga mengizinkan mengubah izin (WDAC) dan mengambil alih kepemilikan (WO). Di kedua sistem, pemilik selalu boleh mengubah izin file.

Di WSL
  • /homePada sistem file Linux: chmod bekerja seperti di Linux mana pun.
  • /mnt/cPada /mnt/c tanpa opsi metadata: mode berasal dari hak Windows, dan chmod hampir tidak mengubah apa pun.
  • /mnt/c · metadataDengan metadata: chmod bekerja, tetapi tidak pernah melampaui yang diizinkan Windows kepada Anda.

Cara memeriksa izin sebuah file

ls -l menampilkannya sebagai huruf dan stat menampilkannya sebagai angka. Tempel salah satunya ke kalkulator dan ia membaca kembali modenya.

ls -l file mencetak -rw-r--r-- 1 you staff 4096 25 Oct 09:26 file, dan kalkulator menerima seluruh baris itu — Anda tidak perlu memilih modenya dari situ. stat -c '%a %n' file mencetak 644 file di Linux; di macOS yang sama adalah stat -f '%Lp %N' file. Untuk satu direktori sekaligus, find . -maxdepth 1 -printf '%m %p\n' dari GNU menampilkan setiap mode sebagai angka (find di macOS tidak punya -printf).

Tanda + di akhir string izin berarti ada lebih dari sembilan bit itu: di Linux itu ACL POSIX, yang ditampilkan getfacl, dan entri tambahan itu sama sekali tidak ada di dalam mode. Di macOS, @ berarti atribut tambahan dan + berarti informasi keamanan tambahan. Pada ls GNU, titik (.) berarti konteks keamanan, seperti milik SELinux. Kalkulator menerima ketiga penanda dan memberi tahu bahwa mode hanyalah sebagian dari ceritanya.

Satu baris ls -l, kolom demi kolomls -l notes.txt
-Jenisrw-r--r--Izin+Penanda1TautanyouPemilikstaffGrup4096Ukuran25 Oct 09:26Diubahnotes.txtNama
Mode sebagai angka
  • Linux$stat -c '%a %n' notes.txt644 notes.txt
  • macOS$stat -f '%Lp %N' notes.txt644 notes.txt
Karakter setelah mode
  • -rw-r--r--+Linux: ACL POSIX (getfacl menampilkannya). macOS: informasi keamanan tambahan seperti ACL.
  • -rw-r--r--@macOS: atribut tambahan.
  • -rw-r--r--.ls GNU: konteks keamanan, seperti milik SELinux, dan tidak ada yang lain.
  • -rw-r--r-- Tidak ada yang lain: sembilan bit itu adalah seluruh ceritanya.

Kalkulator chmod: tanya jawab

Apa arti chmod 755?

Pemilik mendapat baca, tulis, dan jalankan, sedangkan pengguna lain mendapat baca dan jalankan. Ditulis lengkap menjadi rwxr-xr-x. Digitnya adalah jumlah: 7 adalah 4 + 2 + 1 dan 5 adalah 4 + 1. Pakai untuk direktori, yang memerlukan bit execute sebelum siapa pun dapat memasukinya, dan untuk skrip dan program. Jangan pernah untuk file yang harus tetap pribadi.

Apa beda chmod 644 dan 755?

Satu bit per kelas: bit execute. 644 adalah rw-r--r--, tepat untuk dokumen, gambar, konfigurasi, dan file sumber. 755 adalah rwxr-xr-x, tepat untuk direktori dan untuk apa pun yang harus dijalankan. Memberi file mode 755 membuat setiap file dapat dijalankan, itulah sebabnya chmod -R 755 rekursif pada sebuah situs adalah kesalahan; atur direktori dan file secara terpisah.

Apa yang dilakukan chmod 777, dan amankah?

Mode ini membuat setiap akun di mesin dapat membaca, mengubah, dan menjalankan file. Hampir tidak pernah diperlukan dan merupakan risiko nyata pada server bersama atau server yang terhubung ke internet: apa pun yang dapat menulis skrip yang dijalankan server dapat mengambil alih server. Dokumentasi WordPress sendiri meminta 755 atau 750 dan 644 atau 640, dan menyatakan tidak ada direktori yang boleh 777. Bila aplikasi tidak dapat menulis di suatu tempat, ubah pemilik atau grupnya, bukan modenya.

Apa yang dilakukan chmod +x?

Perintah ini menambah bit execute agar file dapat dijalankan. Perhatikan bahwa +x tanpa kelas tidak persis sama dengan a+x: klausa tanpa kelas membiarkan bit yang ada di umask Anda, jadi dengan umask lazim 022 pemilik, grup, dan pengguna lain semuanya mendapat execute, sedangkan umask yang lebih ketat seperti 077 memberikannya hanya kepada pemilik. Tulis chmod a+x atau chmod u+x bila Anda ingin yakin.

Apa arti chmod 600, dan mengapa SSH menginginkannya?

600 adalah rw-------: hanya pemilik yang dapat membaca atau mengubah file. OpenSSH menolak kunci privat yang dapat dibaca akun lain, dengan pesan Permissions 0644 for '<path>' are too open. Pemeriksaannya ketat — jika Anda pemilik file dan salah satu bit grup atau pengguna lain terpasang, kunci ditolak, jadi 640 juga gagal. Pakai chmod 600 pada kunci dan chmod 700 pada ~/.ssh.

Apa arti digit keempat pada chmod?

Digit itu membawa tiga bit khusus: setuid 4, setgid 2, dan bit sticky 1. chmod 2775 folder memasang setgid sehingga file baru di dalamnya memakai grup folder. chmod 1777 folder memasang bit sticky agar orang tidak saling menghapus file, seperti yang dipakai /tmp. Digit ini dihilangkan bila tidak satu pun terpasang.

Mengapa chmod 755 tidak menghapus bit setgid dari folder saya?

Karena chmod GNU mempertahankan setuid dan setgid pada direktori selama mode numeriknya kurang dari lima digit — 0755 termasuk. Itu disengaja dan sesuai standar: POSIX hanya mewajibkan bentuk oktal menghapus bit itu pada file biasa. Pakai bentuk simbolis chmod g-s folder, atau tulis nol di depannya sebagai chmod 00755 folder. Kalkulator ini menuliskan bentuk lima digit secara otomatis bila perubahan Anda memerlukannya.

Apa beda chmod dan chown?

chmod menentukan apa yang boleh dilakukan pemilik, grup, dan pengguna lain. chown menentukan siapa sebenarnya pemilik dan grupnya. Keduanya menjawab dua sisi dari pertanyaan yang sama, dan “permission denied” pada server web sering kali masalah kepemilikan, bukan masalah mode — file itu milik pengguna yang salah, dan tidak ada mode selain 777 yang menutupinya.

Bisakah saya menempel baris ls -l ke kalkulator ini?

Bisa — seluruh baris, bukan hanya modenya. -rw-r--r-- 1 you staff 4096 25 Oct 09:26 notes.txt dibaca sebagai mode 644 pada file, dan drwxrwsr-x sebagai 2775 pada direktori. Penanda ACL +, titik konteks keamanan, dan @ milik macOS semuanya dipahami. Anda juga dapat menempel ekspresi operator seperti u+x atau go-w dan melihat bit mana yang berubah.

Apa arti + atau @ setelah izin?

Keduanya menandakan bahwa sembilan bit itu bukan seluruh ceritanya. Di Linux, + berarti file memiliki ACL POSIX dengan entri di luar pemilik, grup, dan pengguna lain — getfacl menampilkannya, dan entri itu bukan bagian dari mode. Pada ls GNU, titik berarti konteks keamanan, seperti milik SELinux. Di macOS, @ berarti atribut tambahan dan + berarti informasi keamanan tambahan. Jika izin berperilaku aneh padahal modenya wajar, periksa di sana.

Adakah padanan chmod di Windows?

Windows memakai access control list, bukan mode, jadi tidak ada padanan yang persis. icacls file /grant Users:(RX) adalah perintah yang paling mendekati, dan kalkulator menampilkan hak terdekat untuk mode Anda. Di dalam WSL, chmod bekerja normal pada sistem file Linux, tetapi pada drive Windows di /mnt/c hampir tidak berpengaruh kecuali drive itu di-mount dengan opsi metadata.

Apa hasil umask 022?

644 untuk file baru dan 755 untuk direktori baru. File baru dimulai dari 666 dan direktori dari 777, dan setiap bit yang terpasang di umask dimatikan. Karena file tidak pernah dimulai dengan bit execute, tidak ada umask yang dapat membuatnya dapat dijalankan — itu selalu chmod +x yang menyusul. Pakai tab umask di atas untuk mencoba nilai apa pun dan buka salah satu hasilnya di kalkulator.

Ada yang kurang?Usulkan fitur atau alat baru