Alat pembangun · Kalkulator Chmod
Perkara yang dilakukan oleh bit laksana pada direktori dan mengapa 644 folder pecah
· Bagaimana ia berfungsi
chmod unix aliran kerja pembangun
Pada direktori, x bukan tentang menjalankan apa-apa; ia memberikan hak untuk melintasi. Siaran ini menerangkan pembahagian read/search, kes ganjil yang dihasilkannya dan mod yang mengelakkannya.
Kebenaran dinafikan pada fail yang anda boleh baca — fail itu 644, direktori ialah 644 dan kucing masih gagal
Fail yang boleh dibaca boleh kekal tidak dapat dicapai apabila direktorinya tidak dapat dilaksanakan untuk kelas yang berkaitan. Artikel 501 direktori panggilan melaksanakan traversal daripada menjalankan folder. Penjelasan direktori kalkulator adalah lebih jelas: baca senarai entri, tulis perubahan kemasukan permit, dan laksanakan permit memasuki direktori dan mencapai fail di dalamnya mengikut nama. Mod 644 tidak mempunyai bit pelaksanaan untuk mana-mana kelas.
Bandingkan 644 dengan 755 semasa sasaran ditetapkan kepada direktori. Yang pertama menjadikan rw-r--r--; yang kedua menjadikan rwxr-xr-x. Setiap keuntungan kelas dilaksanakan, manakala sahaja pemilik mengekalkan tulis dalam kedua-dua mod. Perbezaan itu menerangkan perbezaan kebenaran yang diwakili. Halaman tidak memeriksa fail, mengenal pasti proses mengakses atau menguji sama ada direktori nenek moyang menyekat laluan sebenar.
Baca senarai, laksanakan traverse — cara direktori r menunjukkan nama manakala x membolehkan anda membuka entri mengikut nama dan menyatakannya
Direktori membaca dan melaksanakan adalah bendera berasingan dengan penjelasan berasingan. Baca sepadan dengan penyertaan penyenaraian. Laksanakan sepadan dengan memasukkan direktori dan mencapai fail bernama di dalamnya. Oleh itu, kelas boleh mempunyai satu tanpa yang lain dalam model berangka. Matriks memastikan perbezaan itu kelihatan dengan meletakkan bacaan pada berat 4 dan laksanakan pada berat 1 dalam setiap digit kelas.
Menukar digit kelas lain daripada 4 kepada 5 ialah demonstrasi terfokus. Tigaan simbolik bergerak dari r-- ke r-x, dan penjelasan direktori menambah kebolehcapaian berasaskan nama sambil mengekalkan penyenaraian. Ini adalah fakta penukaran, bukan ujian akses langsung. Pemilikan, identiti, penyertaan ACL dan dasar mandatori tiada, jadi kalkulator tidak boleh menyatakan kelas mana yang mengawal permintaan sebenar.
Empat kombinasi — r tanpa x, x tanpa r, kedua-duanya dan tidak, dan perkara yang benar-benar membolehkan pengguna lakukan
Empat kombinasi baca dan laksana boleh diwakili tanpa memberikan gelagat sistem yang lebih luas. Digit 4 ialah r--, digit 1 ialah --x, digit 5 ialah r-x dan digit 0 ialah ---. Untuk sasaran direktori, prosa yang dihasilkan mengaitkan bit yang dipilih dengan penyenaraian dan kebolehcapaian berasaskan nama. Tulis kekal sebagai bendera bebas dan tidak tersirat sama ada membaca atau melaksanakan.
Gunakan matriks untuk mengasingkan satu kelas pada satu masa daripada menganggap mod tiga digit sebagai label. Halaman membina semula integer setiap kali kotak berubah, jadi digit yang sepadan dan kedudukan simbolik bergerak bersama. Ia tidak boleh membuka direktori atau cuba mencari. Empat kombinasi adalah kebenaran model yang tepat, manakala sebarang hasil yang berkesan bergantung pada konteks sasaran yang diperhatikan secara berasingan.
Traversal terpakai kepada setiap nenek moyang — mengapa satu direktori terhad di atas laluan memecah akses kepada segala-galanya di bawah
Artikel 501 mengenal pasti direktori induk yang hilang laksanakan kebenaran sebagai sebab mod fail yang sah mungkin tidak menyelesaikan akses. Setiap komponen direktori dalam laluan membentangkan soalan modnya sendiri. Kalkulator boleh menyahkod setiap nilai yang dibekalkan secara bebas dan menunjukkan sama ada pemilik, kumpulan atau pelaksanaan lain hadir. Ia tidak boleh mengikut laluan atau menentukan kelas yang digunakan untuk identiti yang meminta.
Ini menjadikan analisis nenek moyang sebagai aliran kerja pemeriksaan luaran dan bukannya ciri kalkulator. Jika ibu bapa dilaporkan sebagai 750, halaman menunjukkan rwxr-x---; jika yang lain 700, ia menunjukkan rwx------. Perbezaan itu adalah konkrit, tetapi tiada kesimpulan berikut sehingga pemilikan dan keahlian proses diketahui. Pratonton arahan kekal lengai dan tidak menawarkan bukti bahawa menukar mana-mana direktori adalah sesuai.
Contoh yang berjaya: membetulkan akar web — menyemak setiap direktori dari / ke fail yang disiarkan dan memilih 755 atau 750
Untuk contoh akar web, periksa komponen mod yang dibekalkan mengikut komponen dan bukannya menetapkan satu nilai untuk pokok. Mod 755 memberikan pemilik rwx dan kumpulan dan r-x lain; mod 750 mengalih keluar semua kebenaran lain sambil mengekalkan kumpulan r-x. Penukar menjadikan perbezaan itu kelihatan. Ia tidak boleh mengenal pasti proses web, menemui laluan atau memilih kelas yang memerlukan traversal.
Semak fail yang dihidangkan secara berasingan daripada direktorinya. Mod fail yang dibekalkan seperti 644 menjadikan rw-r--r--, manakala nombor yang sama dipilih sebagai direktori menerangkan tindakan yang berbeza dan tidak dapat dilaksanakan di mana-mana sahaja. Perkataan sensitif sasaran ini menghalang pembacaan fail daripada dikelirukan dengan traversal direktori. Kesesuaian masih bergantung pada pemilikan sebenar, identiti proses, nenek moyang dan mana-mana lapisan kawalan akses yang tidak terdapat pada halaman.
Pengulangan dilakukan dengan betul — mengapa chmod -R 644 pada pokok adalah kesilapan klasik dan cara modal X atau cari -type d mengelakkannya
Paparan rekursif sengaja sederhana. Memilihnya sahaja memasukkan -R ke dalam arahan chmod yang dihasilkan; kalkulator tidak menghitung pokok atau membezakan fail daripada direktori. Menggunakan mod 644 yang lengkap di mana-mana sahaja akan menjadikan direktori terlaksana dengan jelas dalam setiap kelas. Halaman boleh mendedahkan hasil itu, tetapi ia tidak melaksanakan modal X atau aliran kerja pemilihan jenis fail.
Tugasan simbolik yang dihasilkan juga kekal tetap. Untuk 644 ia adalah u=rw,g=r,o=r, bukan perintah relatif yang mengekalkan traversal secara bersyarat. Medan gaya ls menunjukkan rw-r--r-- dan tidak boleh dikelirukan dengan senarai tugasan itu. Sebarang strategi rekursi luaran mesti disahkan di luar laluan ini, termasuk pemilihan sasaran, pengendalian pautan dan mod akhir yang diletakkan pada jenis objek yang berbeza.
Perkara yang tidak dilindungi ini — tingkah laku melekit dan setgid pada direktori, dan topeng ACL, yang diliputi dalam siaran mereka sendiri
Topeng melekit, setgid dan ACL adalah berasingan daripada soalan traversal biasa. Kalkulator melaksanakan perwakilan melekit dan setgid dan penerangan sensitif sasaran, tetapi perbandingan teras artikel ini sahaja perlu dibaca dan dilaksanakan. ACL topeng tidak diwakili sama sekali. Penukaran mod asas yang betul tidak boleh menentukan sama ada entri tambahan memberikan atau mengehadkan akses untuk identiti tertentu.
Umask juga berada di luar ujian. Halaman menerima mod yang telah lengkap, bukan tetapan proses yang mungkin telah mendahuluinya. Jika direktori muncul dengan 644, penukar boleh menunjukkan kedudukan pelaksanaan yang hilang dan menjana perintah calon untuk nilai lain yang dibekalkan. Ia tidak boleh mengatakan mengapa mod itu timbul, sama ada pemilikan adalah salah, atau sama ada menukarnya menangani kegagalan sebenar.
Bawa pulang: direktori memerlukan x boleh digunakan — dan kalkulator membuat perbezaan antara 644 dan 755 kelihatan sebagai r-- berbanding r-x
Bawa pulang yang tahan lama ialah direktori x mewakili kemasukan dan kebolehcapaian berasaskan nama dalam penjelasan kalkulator ini. Mod 644 memaparkan r-- untuk kumpulan dan lain-lain, manakala 755 memaparkan r-x untuk kedua-duanya dan menambah pelaksanaan pemilik juga. Medan oktal yang disegerakkan, medan simbolik, matriks dan prosa menjadikan perbezaan itu boleh diperiksa tanpa menganggap sama ada nombor biasa sebagai betul secara universal.
Diagnosis di luar aritmetik sebelum menggunakan apa-apa. Sahkan identiti yang berkaitan, pemilikan, setiap mod yang dibekalkan oleh nenek moyang dan jenis sasaran. Kemudian gunakan kalkulator untuk mengesahkan sebarang nilai calon yang lengkap. Ia akan menolak tatatanda cacat dan menunjukkan dengan tepat bit yang berubah, tetapi ia tidak pernah membuka laluan, melaksanakan chmod, menilai dasar aplikasi atau membuktikan bahawa bit mod tradisional adalah satu-satunya kuasa.