Alat pembangun · Kalkulator Chmod
chmod vs chown: mengapa menukar mod selalunya adalah tuil yang salah
· Mengapa ia penting
chmod unix kawalan akses
Bit mod sahaja bermaksud sesuatu yang berkaitan dengan pemilik dan kumpulan. Siaran ini memisahkan kedua-dua arahan dan menunjukkan cara membuat keputusan, daripada ralat dan identiti proses, yang mana yang anda perlukan sebenarnya.
Dua arahan, satu ralat — kebenaran ditolak telah 'dibetulkan' tiga kali bulan ini dengan tiga baris chmod dan chown yang berbeza
chmod dan chown menangani maklumat yang berbeza, walaupun kedua-duanya muncul berhampiran ralat kebenaran. Kalkulator memodelkan bit kebenaran untuk pemilik, kumpulan dan lain-lain, serta bit khas. Ia tidak menerima pemilik atau kumpulan semasa dan tidak menjalankan operasi pemilikan. Oleh itu, mod boleh diterjemahkan dengan betul sementara hubungan identiti masih tidak diketahui dan tidak diuji.
Pisahkan soalan dahulu. “Apakah yang dibenarkan oleh 750?” bertanggungjawab: pemilik mendapat rwx, kumpulan mendapat r-x dan yang lain tidak mendapat apa-apa. “Siapa punya ini?” dan "Identiti yang manakah menjalankan proses itu?" memerlukan bukti luar. Mengedit mod sebelum menyelesaikan identiti mungkin meluaskan kelas yang salah; pandangan disegerakkan tidak boleh memilih antara chmod dan perubahan pemilikan.
Pemilikan dahulu, kemudian mod — cara kernel memilih pemilik, kumpulan atau orang lain untuk proses sebelum ia melihat sebarang bit
Pemilihan kelas bergantung pada identiti, yang tidak pernah diterima oleh kalkulator. Pemiliknya, kumpulan dan triple lain adalah kategori, bukan akaun yang ditemui. Ia tidak dapat mengetahui sama ada proses sepadan dengan pemilik, tergolong dalam kumpulan fail atau jatuh ke dalam yang lain. Ia sahaja menjadikan ketiga-tiga set kebenaran daripada satu integer; kelayakan memerlukan pemeriksaan luaran.
Oleh itu, identiti adalah prasyarat untuk menilai perkaitan. Dengan mod 640, pemilik telah membaca dan menulis, kumpulan telah membaca dan yang lain tidak mempunyai apa-apa. Penukaran adalah pasti, tetapi tiga kali ganda yang berkenaan tidak. Tiada UID, keahlian, pemetaan kontena atau ACL memasuki negeri. Tetapkan fakta tersebut dahulu, kemudian nilaikan bit yang sepadan.
Pemilihan kelas bergantung pada identiti, yang tidak diterima oleh kalkulator
Alat pemilikan menukar orang yang menduduki perhubungan pemilik atau kumpulan, manakala chmod menukar kebenaran yang dilampirkan pada kelas tersebut. Kalkulator ini sahaja melaksanakan sisi chmod. Ia menjana teks chmod perlapanan atau simbolik dan tidak pernah mengeluarkan chown atau chgrp. Ia juga tidak mengubah fail; medan laluan sahaja membina pratonton yang disebut untuk semakan luaran.
Memperluaskan mod boleh mendedahkan kelas tambahan tanpa membetulkan pemilikan. Bandingkan 750 dengan 757: yang terakhir menambah bacaan dan jalankan yang lain. Kalkulator memaparkan delta itu tetapi tidak dapat menyatakan sama ada faedah atau pemilikan akaun lain menyebabkan kegagalan. Wujudkan identiti pemilik, kumpulan dan proses secara luaran, kemudian berikan sahaja kelas yang dimaksudkan bit yang diperlukan mereka.
Corak kumpulan kongsi — chgrp tambah setgid pada direktori ditambah 2775 sebagai jawapan standard untuk dua pengguna yang kedua-duanya perlu menulis
Aliran kerja kumpulan kongsi memerlukan alat dan dasar pemilikan luaran. Pratetap 775 dilabelkan "dikongsi dengan kumpulan" kerana penulisan kumpulan didayakan. Pratetap 2775 menambah setgid, menjadikan rwxrwsr-x; untuk direktori, fail baharu mewarisi kumpulan direktori. Perihalan bit ini tidak membentuk reka bentuk kerjasama yang lengkap atau pengesyoran penggunaan.
Halaman tidak boleh membuat kumpulan, memilih ahli, menjalankan chgrp atau menetapkan bahawa 2775 sesuai dengan beban kerja. Ia juga tidak boleh memeriksa ACL lalai, umask atau gelagat aplikasi. Anggap pratetap sebagai aritmetik, bukan dasar. Selesaikan pemilikan dan keahlian di tempat lain, kemudian bandingkan mod calon sambil mendasarkan reka bentuk direktori kongsi sebenar dalam bukti alam sekitar.
Aliran kerja kumpulan kongsi memerlukan alat dan dasar pemilikan luaran
Selepas menyelesaikan pemilikan di tempat lain, periksa mod direktori 750. Pemilik menerima membaca, menulis dan melaksanakan; kumpulan menerima bacaan dan laksana; yang lain tidak menerima apa-apa. Kumpulan boleh menyenaraikan dan memasukkan tetapi tidak mencipta, menamakan semula atau memadam entri. Kalkulator menghasilkan rwxr-x--- dan u=rwx,g=rx,o= tanpa memeriksa direktori atau akaun sebenar.
Periksa 640 secara berasingan untuk fail biasa. Ia menjadi rw-r-----: pemilik membaca dan menulis, kumpulan membaca, dan tiada untuk yang lain. Halaman memaparkan kedua-dua hasil tetapi tidak boleh menetapkannya secara rekursif, mengenal pasti akaun penempatan atau memilih kumpulan perkhidmatan. Menuntut kesesuaian untuk /var/www memerlukan beban kerja dan bukti identiti tiada di sini.
Contoh yang berjaya: periksa 750 dan 640 selepas pemilikan diselesaikan di tempat lain
Penemuan identiti proses terletak di luar alat pelayar ini. Tiada sumber memanggil ps, membaca konfigurasi perkhidmatan, memeriksa ruang nama kontena atau pangkalan data akaun pertanyaan. Kalkulator tidak boleh mengenal pasti akaun yang sedang berjalan atau kumpulan tambahan, jadi ia tidak dapat menentukan kelas kebenaran yang mengawal operasi. Klasifikasi itu memerlukan bukti semasa daripada persekitaran masa jalan dan sistem fail yang bertanggungjawab.
Selepas identiti diwujudkan secara luaran, semak kelas yang berkaitan dengan tepat. Jika proses harus menggunakan akses kumpulan, 640 memberikan kelas itu membaca tetapi tidak menulis, manakala 660 menambah kumpulan-tulis. Aritmetik ini bukan cadangan; bit yang betul bergantung pada operasi yang diperlukan. Simpan penemuan dan dasar di luar penukar, gunakannya untuk mengelakkan kesilapan perwakilan.
Penemuan identiti proses berada di luar alat pelayar ini
Pemetaan ACL dan bekas UID tiada dalam kalkulator. Modelnya termasuk tiga kelas biasa dan bit khas, tetapi tiada entri bernama ACL, terjemahan topeng atau ruang nama. Mod mungkin kelihatan mencukupi manakala lapisan lain mengehadkan akses, atau mengehadkan sementara ACL mengembangkannya. Integer yang dibekalkan sahaja tidak dapat menyelesaikan mana-mana kemungkinan.
Input yang hilang mengehadkan kedua-dua diagnosis dan pemulihan. Laluan tidak boleh memilih antara perubahan chmod, chown, ACL atau pembetulan pemetaan. Ia boleh menyahkod mod asas yang dibekalkan dan menghasilkan huruf khas seperti s, S, t dan T. Anggap itu sebagai satu lapisan bukti, bukan bukti tentang akses pihak ketiga atau kontena.
Bawa pulang: tentukan identiti sebelum bit — kemudian gunakan kalkulator Chmod untuk menjadikan bit selebar yang diperlukan oleh identiti
Tentukan identiti sebelum bit. Mod berfungsi melalui pemilik, kumpulan dan kelas lain, tetapi kalkulator mengetahui kebenaran dan bukannya akaun yang mendudukinya. Selepas pemeriksaan luaran menetapkan identiti pemilikan dan proses, masukkan calon dan sahkan setiap bacaan yang dimaksudkan, tulis dan laksanakan bendera. Membandingkan nilai berdekatan mendedahkan pelebaran secara tidak sengaja sebelum arahan meninggalkan pelayar.
Output akhir kekal sebagai cadangan. Halaman menolak input yang tidak betul, menyegerakkan bentuk perlapanan dan simbolik, menerangkan maksud fail dan direktori, memetik laluan dan menjana teks chmod. Ia tidak boleh melaksanakan arahan, menukar pemilikan, menilai ACL, memeriksa dasar atau menguji aplikasi. Mengesahkan sebarang perubahan yang dicadangkan pada sistem yang bertanggungjawab selepas menyelesaikan identiti.