Bahasa Melayu

Alat pembangun · Kalkulator Chmod

Cara umask menentukan kebenaran lalai bagi fail dan folder baharu

· Bagaimana ia berfungsi

chmod unix aliran kerja pembangun

hasil umask ditunjukkan sebagai gambar rajah bit kebenaran Unix yang berbeza
Ilustrasi vektor ToolAcre asal

Fail baharu tidak bermula pada 777; topeng digunakan terlebih dahulu. Siaran ini menunjukkan operasi bitwise yang tepat, mengapa fail dan direktori menjadi berbeza, dan cara membuat alasan tentang umask 022, 027 dan 077.

Fail yang tidak dapat dibaca oleh pelayan web — tugas cron menulis 600 fail ke dalam direktori yang dilayani nginx, dan tiada siapa yang menjalankan chmod pada apa-apa

Mod fail yang baru diperhatikan boleh dinyahkodkan di sini walaupun proses yang menghasilkannya tidak diketahui. Masukkan 600 dan kalkulator menunjukkan rw-------: pemilik membaca dan menulis, tanpa kebenaran untuk kumpulan atau lain-lain. Itu menerangkan bit hasil yang dibekalkan. Ia tidak menentukan sebab kerja berjadual menghasilkan nilai tersebut atau sama ada proses web boleh membaca fail tersebut.

Artikel 501 membekalkan sekatan diagnostik yang diperlukan. Mod yang sah mungkin wujud bersama dengan pemilikan yang salah atau bit laksana yang hilang pada direktori induk. Halaman ini tidak menerima identiti proses mahupun maklumat laluan. Ia boleh membandingkan 600 dengan 640 yang dicadangkan dan mendedahkan bit bacaan kumpulan yang ditambah, tetapi ia tidak boleh mengaitkan mod asal kepada umask, perkhidmatan, shell atau sistem fail.

Dari mana kebenaran baharu datang — mod yang diminta (biasanya 666 untuk fail, 777 untuk direktori) dan umask proses

Mod penciptaan yang diminta dan umask ialah input latar belakang, bukan kawalan kalkulator. Tiada medan umask dan tiada operasi yang mencipta fail atau direktori. Oleh itu, sebarang contoh mod penciptaan mesti tiba sebagai hasil pengiraan luaran. Selepas dibekalkan, kalkulator boleh menterjemah hasil itu antara bentuk oktal, simbolik, matriks, ringkasan dan bahasa Inggeris biasa tanpa menuntut cara nilai itu diperoleh.

Skop diperbetulkan ini penting kerana output yang disegerakkan boleh kelihatan lebih berwibawa daripada yang sebenarnya. Memasukkan 640 menghasilkan rw-r----- dan mengenal pasti pembacaan pemilik/write ditambah bacaan kumpulan. Halaman boleh mengesahkan perwakilan itu. Ia tidak boleh meramalkan lalai untuk proses log masuk, tugas berjadual, perkhidmatan, bekas atau sistem storan, kerana tiada konteks tersebut muncul di antara input atau pelaksanaannya.

Mod penciptaan yang diminta dan umask ialah input latar belakang yang tidak dilaksanakan di sini

AND-NOT aritmetik mesti dilakukan di luar kalkulator ini. Terasnya menerima satu integer yang lengkap dan meletupkannya ke dalam bendera yang dinamakan; ia tidak mempunyai operan kedua untuk topeng ciptaan. Akibatnya, halaman tidak boleh menunjukkan formula topeng, membandingkan penolakan dengan operasi bitwise, atau memutuskan sama ada pengiraan luaran dilakukan dengan betul sebelum mod terhasilnya dimasukkan.

Perkara yang boleh disemak ialah corak bit terakhir. Jika sumber lain yang dipercayai membekalkan 640, matriks menunjukkan pemilik membaca dan menulis, membaca kumpulan dan tiada kebenaran lain. Menukar kumpulan membaca semula membina semula 600, manakala menukar bacaan lain pada membina semula 644. Peralihan ini mengesahkan mod aritmetik di dalam penukar tanpa membentangkannya sebagai pengiraan topeng ciptaan atau bukti tentang proses yang tidak kelihatan.

AND-NOT aritmetik mesti dilakukan di luar kalkulator

Kalkulator boleh membandingkan mod fail dan direktori yang terhasil, tetapi ia tidak mencipta kedua-duanya. Dengan 644 dipilih, penjelasan fail biasa menerangkan membaca dan menukar fail; menukar sasaran kepada direktori menukar kata kerja tersebut kepada penyenaraian, mengubah suai entri dan mencapai nama. Integer kekal 644. Perbezaan itu menunjukkan sebab jenis sasaran penting tanpa menegaskan penciptaan yang lalai sebarang permintaan program.

Keputusan 755 yang dibekalkan secara berasingan boleh diperiksa dengan cara yang sama. Paparannya ialah rwxr-xr-x, dengan laksana aktif untuk semua kelas; 644 ialah rw-r--r--, dengan pelaksanaan tidak hadir sepanjang masa. Halaman itu dengan jelas mendedahkan perbezaan itu. Ia tidak memperoleh sama ada nilai daripada 666, 777, 022 atau sebarang input latar belakang lain, kerana pengiraan tersebut tidak dilaksanakan dalam CHMOD_SOURCES.

Kalkulator boleh membandingkan fail dan mod direktori yang terhasil tetapi tidak mencipta kedua-duanya

Untuk contoh topeng sekatan, pastikan pengiraan di luar dan nyahkod sahaja hasil yang dinyatakan. Jika fail biasa yang diperhatikan ialah 640, kalkulator menghasilkan rw-r-----; jika direktori yang diperhatikan ialah 750, ia menjadikan rwxr-x---. Pemilik mengekalkan akses yang lebih luas dalam kedua-duanya, kumpulan menerima set yang lebih sempit, dan yang lain tidak menerima satu pun. Kenyataan tersebut mengikuti terus daripada mod yang telah lengkap.

Satu lagi pasangan yang dibekalkan secara luaran, 600 dan 700, menjadikan kaedah semakan yang sama kelihatan tanpa menuntut asalnya. Mod 600 sahaja memberi pemilik membaca dan menulis pada fail. Mod 700 sahaja memberi pemilik membaca, menulis dan melaksanakan pada direktori. Penukar boleh mengesahkan setiap kelas dan bit, tetapi ia tidak boleh memadankan mana-mana hasil dengan tetapan umask tertentu daripada buktinya sendiri.

Contoh yang berfungsi: menyahkod hasil pengiraan luaran untuk topeng terhad

Di mana proses mendapatkan umask adalah bukti repositori di luar. Kalkulator tidak mengandungi penyepaduan dengan cangkerang, penjadual, pengurus perkhidmatan, bekas atau persekitaran proses. Menamakan salah satu daripada sistem tersebut sebagai punca mod akan melebihi apa yang diperhatikan oleh halaman tersebut. Mulakan dengan mod boleh dipercayai yang dikumpulkan di tempat lain, kemudian gunakan laluan ini sahaja untuk menjadikan pemilik, kumpulan dan bit lain boleh dibaca.

Pratonton arahan tidak menutup jurang bukti itu. Ia boleh memetik laluan yang dibekalkan dan secara pilihan memaparkan -R, tetapi ia tidak pernah membuka laluan atau membaca tetapan proses. Begitu juga, pemilih sasaran menukar bahasa penerangan dan bukannya mencari jenis objek. Penukaran yang konsisten mengecilkan soalan kebenaran; ia tidak mendedahkan komponen mana yang memilih mod atau sama ada pemilihan itu disengajakan.

Di mana proses mendapatkan umask adalah bukti repositori di luar

ACL lalai dan mod penciptaan eksplisit berada di luar alat ini. Model datanya mempunyai satu kelas pemilik, satu kelas kumpulan, semua orang lain, dan tiga bit khas. Tiada entri bernama ACL, topeng ACL, panggilan penciptaan atau argumen program. Oleh itu kalkulator tidak boleh memutuskan sama ada mod yang lengkap timbul daripada lapisan kawalan akses lain atau daripada aplikasi yang membekalkan permintaan tertentu.

Mod masih boleh disemak tanpa meruntuhkan mekanisme tersebut bersama-sama. Masukkan nilai perlapanan yang diperhatikan, sahkan sembilan kedudukan simbolik, dan bandingkan matriks dengan ringkasan empat digit. Jika mereka bersetuju, mod tradisional telah dinyahkod dengan betul. Sebarang tuntutan tentang lalai, kesan ACL atau tingkah laku program memerlukan bukti daripada pencipta dan sistem fail, bukan tafsiran lain bagi integer yang sama.

ACL lalai dan mod terbuka eksplisit berada di luar alat ini

Aliran kerja yang diperbetulkan dikira di tempat lain, kemudian periksa mod yang terhasil di sini. Bekalkan rentetan oktal atau gaya ls yang lengkap dan biarkan medan yang disegerakkan mendedahkan setiap bit. Pengesahan menangkap digit perlapanan dan huruf yang cacat dalam kedudukan simbolik yang salah. Ia tidak mengesahkan ungkapan umask, menemui konteks penciptaan atau meramalkan perkara yang akan diterima oleh fail atau direktori masa hadapan.

Anggap hasilnya sebagai satu lapisan diagnostik. 640 atau 750 yang dinyahkod boleh mendedahkan geran yang tidak dijangka atau bit pelaksanaan yang hilang, manakala artikel 501 mengingatkan kami untuk menyemak pemilikan dan traversal direktori induk secara berasingan. Berhenti sebelum menetapkan sebab. Kalkulator membuktikan cara nilai yang dibekalkan memetakan kepada kebenaran; ia tidak menawarkan asas untuk tuntutan tentang shell, perkhidmatan, bekas, ACL atau lalai sistem fail.