Alat pembangun · Kalkulator Chmod
chmod -R dengan modal X: kebenaran rekursif tanpa fail boleh laku
· Bagaimana ia berfungsi
chmod unix aliran kerja pembangun
Rekursif chmod sama ada jalur dilaksanakan daripada direktori atau menambahkannya pada fail, melainkan anda menggunakan alat yang dibina untuk perbezaan. Siaran ini menerangkan modal X dan alternatif cari.
Setiap fail dalam pepohon kini ditandakan boleh laku — chmod -R 755 membetulkan direktori dan menjadikan setiap .txt boleh laku juga
Perintah rekursif boleh mengenakan satu mod pada objek yang memerlukan kebenaran yang berbeza. Masukkan 755 dan kalkulator memaparkan rwxr-xr-x, kemudian bandingkan penjelasan fail biasa dan direktori. Laksanakan membolehkan fail dijalankan sebagai program, tetapi membenarkan direktori dimasukkan dan kandungan yang dinamakan dicapai. Oleh itu, satu digit membawa akibat yang sangat berbeza.
Pembina boleh memaparkan -R dan memetik laluan yang dibekalkan dengan selamat, tetapi ia tidak pernah membuka laluan itu atau menjalankan chmod. Bandingkan 755 dengan 644: geran pertama dilaksanakan untuk setiap kelas, manakala yang kedua menghasilkan rw-r--r--. Ini menunjukkan bagaimana rekursi boleh mencipta fail boleh laku yang tidak diingini tanpa menuntut apa-apa tentang pepohon direktori sebenar.
Mengapa mod tunggal tidak boleh memuatkan kedua-duanya — fail biasanya mahu 644 dan direktori 755 dan -R menggunakan satu mod untuk semua
Satu mod tidak boleh menyatakan peraturan berasingan untuk direktori dan fail biasa. Mod 755 memberi pemilik membaca, menulis dan melaksanakan, dengan kumpulan dan penerima lain membaca dan melaksanakan. Mod 644 mengalih keluar setiap bit laksana dan menulis simpanan untuk pemilik. Pemilih sasaran menukar penjelasan, bukan bit asas.
Bandingkan calon secara bebas dalam matriks. Di bawah 755, setiap kelas telah melaksanakan; di bawah 644, setiap kotak eksekusi adalah jelas dan sahaja pemilik yang mengekalkan penulisan. Teks oktal, simbolik, ringkasan dan kotak pilihan berasal daripada satu integer, jadi perjanjian mengesahkan pengekodan yang konsisten, bukan kesesuaian untuk sasaran atau persekitaran yang tidak diketahui.
Kebenaran modal X - laksana ditetapkan sahaja di mana sasaran adalah direktori atau sudah dilaksanakan untuk beberapa kelas
Modal X tergolong dalam tatabahasa perintah simbolik chmod, yang tidak dihuraikan atau dijana oleh kalkulator ini. Input simboliknya ialah paparan ls sembilan aksara tetap, dan tugasan yang dihasilkan menggunakan klausa u=, g= dan o= eksplisit dengan r, w dan x. Ia boleh memaparkan mod akhir, tetapi tidak boleh menentukan ahli pokok yang akan dipilih oleh modal X.
Anggap perbezaan itu sebagai sempadan yang kukuh. Masukkan 755 untuk memeriksa rwxr-xr-x dan 644 untuk memeriksa rw-r--r--; kedua-duanya adalah keputusan tetap. Halaman menerangkan laksana secara berbeza untuk direktori dan fail, namun tidak mempunyai pejalan laluan, inventori jenis atau keadaan pelaksanaan sebelumnya. Ia tidak boleh memodelkan modal X merentas sasaran rekursif bercampur.
Modal X tergolong dalam tatabahasa chmod tetapi tidak dijana oleh kalkulator ini
Perbandingan yang disokong bermula dengan mod yang lengkap, bukan perintah simbolik rekursif. Masukkan 755 untuk direktori: ringkasan menunjukkan 0755 dan drwxr-xr-x, dengan pemilik menulis tambah membaca dan melaksanakan untuk semua kelas. Masukkan 644 untuk fail: ia menunjukkan 0644 dan -rw-r--r--, tanpa kebenaran laksana.
Bersebelahan, setiap kelas kehilangan pelaksanaan daripada 755 kepada 644, manakala pemilik menulis dan membaca universal kekal. Tugasan yang dijana kekal berasingan: u=rwx,g=rx,o=rx dan u=rw,g=r,o=r. Kalkulator tidak menggabungkannya menjadi satu operasi rekursif atau memilih sasaran; ia mengesahkan perwakilan untuk aliran kerja yang disemak secara berasingan.
Contoh yang berjaya: bandingkan mod 755 dan 644 yang terhasil secara berasingan
Memisahkan fail dan direktori dengan find ialah aliran kerja luaran, bukan ciri kalkulator. Halaman ini tidak mempunyai pengimbas, penapis laluan, ujian jenis atau pelaksana. Ia sebaliknya boleh menyahkod direktori dan mod fail yang dicadangkan sebelum arahan dipasang. Memeriksa 755 dan 644 secara berasingan menghalang nombor biasa daripada menyembunyikan geran pelaksanaan.
Jauhkan penemuan berasingan daripada penukaran. Sebarang mekanisme memilih direktori atau fail biasa mesti disemak di tempat lain. Dalam kalkulator, aritmetik adalah deterministik: baca menyumbang 4, tulis 2 dan laksanakan 1 pada setiap digit kelas. Ini mengesahkan nilai yang dimaksudkan tanpa menuntut sokongan untuk mencari sintaks, peraturan traversal atau tingkah laku rekursif mudah alih.
rekursi berasaskan cari ialah aliran kerja luaran, bukan ciri kalkulator
Perintah rekursif yang dipaparkan tidak menjamin apa-apa tentang pautan simbolik. Memilih "Gunakan secara rekursif" sahaja menambah -R pada pratonton; ia tidak memeriksa direktori, menemui pautan atau meramalkan tingkah laku sistem pengendalian. Medan laluan sahaja membina teks shell yang dipetik. Malah aksara cangkerang aktif kekal lengai sehingga seseorang dengan sengaja menyalin dan melaksanakan arahan di tempat lain.
Baca pratonton sebagai bit mod yang diminta, bukan simulasi. Kalkulator boleh menjadikan 755 sebagai rwxr-xr-x dan menghasilkan chmod -R 755 dengan laluan yang disebut. Ia tidak dapat mengenal pasti objek yang dicapai, tingkah laku mengikut pautan atau sokongan sistem fail. Jawapan tersebut memerlukan pelaksanaan perintah dan persekitaran sebenar, tidak diwakili oleh input pelayar.
Perintah -R yang dipaparkan tidak membawa jaminan symlink merentas platform
Pemeliharaan mod oleh arkib, alat penyegerakan atau Git terletak di luar sumber. Kalkulator tidak membaca arkib, metadata repositori atau sejarah pemindahan. Ia menerima satu nilai dan menjadikan teks perlapanan, simbolik, kotak semak, prosa dan arahan chmod. Itu mengesahkan nilai kebenaran yang dibekalkan, bukan sama ada alat lain merekod, membuang atau membina semulanya.
Selepas pemindahan luar menukar mod, gunakan kalkulator sahaja untuk perbezaan yang boleh dibuktikan. Nyahkod nilai yang diperhatikan dan dijangka, kemudian kenal pasti pemilik, kumpulan atau bit lain yang diubah. Contohnya, 755 dan 644 berbeza dalam semua kedudukan pelaksanaan. Sumber tidak boleh mengaitkan delta itu kepada rsync, tar, Git, umask atau sistem fail.
Pemeliharaan mod arkib, rsync dan Git berada di luar set sumber
Pengambilan yang boleh dipercayai adalah lebih sempit daripada resipi capital-X. Direktori dan fail mungkin memerlukan mod akhir yang berbeza, dan kalkulator menjadikan setiap hasil boleh dibaca. Ia menerima input simbolik perlapanan atau tetap dan menyegerakkan matriks. Dalam perbandingan ini, 755 mengekalkan laksana untuk setiap kelas, manakala 644 mengalih keluar laksana di mana-mana sahaja.
Gunakan output yang dijana sebagai artifak ulasan. Halaman boleh menambah -R, tetapi tidak boleh memilih direktori secara bersyarat, memeriksa bit pelaksanaan sedia ada atau menentukan traversal pautan. Ia juga tidak mempunyai pemilikan, ACL dan konteks dasar. Sahkan setiap hasil tetap, sahkan persetujuan perlapanan dan simbolik, kemudian periksa sasaran sebenar sebelum menggunakan sebarang mod.