Bahasa Melayu

Alat pembangun · Kalkulator Chmod

Mencari fail boleh tulis dunia dan binari setuid dengan find -perm

· Mengapa ia penting

chmod unix kawalan akses

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

Dua corak kebenaran menyumbang kepada banyak kejadian sebenar: fail sesiapa sahaja boleh menukar dan program yang dijalankan sebagai root. Siaran ini menunjukkan cara mencari kedua-duanya dengan find -perm dan perkara yang perlu dilakukan terhadapnya.

Penyemak meminta senarai yang anda tidak ada — fail mana yang boleh diubah suai oleh mana-mana pengguna, dan program mana yang meningkatkan keistimewaan apabila dijalankan

Semakan kebenaran selalunya bermula dengan mod yang telah dikumpulkan di tempat lain: mungkin 0002, 4000, 2000 atau nilai lengkap seperti 4755. Kalkulator boleh menyahkod nombor tersebut kepada pemilik, kumpulan dan kebenaran lain, termasuk tiga bit khas. Ia tidak mencari direktori, memeriksa binari atau menghasilkan inventori laluan.

Anggap setiap mod yang dibekalkan sebagai perihalan bit, bukan keputusan tentang fail. Masukkannya, bandingkan medan perlapanan dengan paparan simbolik dan matriks kotak semak, kemudian rekodkan apa yang berubah. Pemilikan, ACL entri, keupayaan dan identiti sebarang proses yang menggunakan laluan kekal sebagai fakta untuk dikumpulkan dari persekitaran sebenar.

Boleh tulis dunia bermakna kelas lain mempunyai w — corak perlapanan 0002 dan mengapa -perm -0002 menemuinya tanpa mengira bit lain

Nilai 0002 mengasingkan bit tulis lain. Dalam reka letak tiga kelas biasa, digit terakhir adalah milik semua orang di luar kelas pemilik dan kumpulan, dan komponen tulisnya mempunyai berat 2. Oleh itu, mod lengkap yang mengandungi bit itu akan menunjukkan w dalam kelas lain, walaupun kalkulator tidak mengesan mod tersebut sendiri.

Sama ada ungkapan carian tertentu bermaksud padanan tepat, semua-bit atau mana-mana bit adalah milik dokumentasi carian, bukan penukar ini. Bekalkan mod yang terhasil sebaliknya. Contohnya, 0666 menjadi rw-rw-rw-, manakala 0644 menjadi rw-r--r--; perbezaannya dapat dilihat dalam kumpulan dan kedudukan tulis lain tanpa membayangkan bahawa mana-mana mod sesuai dengan laluan tertentu.

0002 mendedahkan bit tulis lain; cari semantik yang sepadan adalah luaran

Digit bit khas terkemuka menggunakan 4 untuk setuid dan 2 untuk setgid. Oleh itu 4755 menggabungkan setuid dengan kebenaran 755 biasa, manakala 2755 menggabungkan setgid dengan bit trailing yang sama. Kalkulator mendedahkan topeng tersebut secara berasingan dan meletakkan huruf simboliknya dalam kedudukan laksana pemilik atau kumpulan apabila memberikan mod penuh.

Kes membawa bukti yang berguna. Jika setuid mengiringi pemilik melaksanakan, pemilik melaksanakan kedudukan memaparkan s; tanpa melaksanakan ia memaparkan S. Setgid mengikut peraturan yang sama dalam kedudukan kumpulan. Output ini menyahkod integer yang dibekalkan, tetapi mereka tidak memeriksa program, menentukan pemiliknya, menjalankannya atau memutuskan sama ada bit khas adalah wajar.

4000 dan 2000 menyahkod sebagai setuid dan setgid tanpa mengaudit perduaan

Sintaks carian kebenaran mesti dipisahkan daripada aritmetik kebenaran. Kalkulator menerima mod simbolik oktal atau sembilan aksara dan mengembalikan satu nilai dua belas bit. Ia tidak mempunyai perwakilan untuk pengendali carian, predikat laluan atau peraturan padanan, jadi pertanyaan mod tepat dan pertanyaan semua-bit yang diperlukan tidak boleh dibezakan dalam antara muka ini.

Nyahkod mod daripada setiap hasil carian luaran dan bukannya menampal ungkapan carian. Tiga digit biasa memetakan kepada pemilik, kumpulan dan lain-lain, manakala digit utama pilihan memetakan kepada setuid, setgid dan sticky. Aliran kerja ini mengesahkan bit yang dilaporkan tetapi meninggalkan liputan carian dan semantik yang sepadan dengan alat yang menghasilkan senarai.

Mod carian tepat, all-bit dan any-bit memerlukan dokumentasi cari

Katakan audit yang dilakukan di tempat lain melaporkan 0666 dan 4755. Memasuki 0666 menghasilkan rw-rw-rw-, menjadikan tulisan lain kelihatan dalam tiga kali terakhir. Memasukkan 4755 menghasilkan rwsr-xr-x: pemilik telah membaca, menulis dan melaksanakan, dan setuid menggantikan pemilik melaksanakan aksara dengan huruf kecil s kerana bit pelaksanaan itu ada.

Pukulan kedua seperti 4644 menunjukkan sebab bentuk simbolik itu penting. Ia menjadikan rwSr--r--, dengan huruf besar S menunjukkan setuid manakala pelaksana pemilik tidak hadir. Kalkulator boleh menjadikan ketidakkonsistenan itu ketara. Ia masih tidak dapat mengenal pasti laluan, menentukan siapa pemiliknya, memeriksa kandungannya, atau mengesyorkan pengalihan keluar bit itu.

Contoh berfungsi: menyahkod hit audit yang dibekalkan tanpa laluan pengimbasan

Jangan baiki setiap mod luar biasa secara automatik. Mod hanyalah satu input kepada keputusan yang juga bergantung pada sasaran, pemilik, kumpulan dan operasi yang diperlukan. Halaman itu sengaja tidak menerima konteks itu. Pratonton arahannya ialah teks lengai, malah laluan yang dipetik dengan betul tidak dibuka atau disemak oleh pelayar.

Sebelum menukar mod yang dilaporkan, bandingkan nilai semasa dan nilai yang dicadangkan sedikit demi sedikit. Mengalih keluar tulisan lain daripada 0666 menghasilkan 0664; mengalih keluar setuid daripada 4755 menghasilkan 0755. Fakta aritmetik tersebut boleh dihasilkan semula, tetapi sama ada perubahan mengekalkan beban kerja memerlukan bukti tempatan di luar kalkulator dan di luar panduan bit biasa artikel 501.

Pengecualian dan pemulihan memerlukan bukti pemilikan tempatan dan beban kerja

Beberapa dimensi audit yang berkaitan tidak hadir. Laluan tidak menanyakan entri ACL, keupayaan fail, pemilikan, komponen laluan boleh tulis, tingkah laku lekap atau dasar mandatori. Ia juga tidak melaksanakan mencari, memeriksa PATH atau storan melintasi. Oleh itu, penukaran yang bersih sahaja menyatakan bahawa nombor yang dibekalkan dan huruf yang dipaparkan bersetuju.

Pastikan sempadan tersebut kelihatan dalam mana-mana laporan. Rakam laluan dan kaedah pengumpulan di sebelah mod dinyahkod, kemudian siasat identiti dan mekanisme akses tambahan dengan alat luaran yang sesuai. Kalkulator adalah berharga sebagai semakan notasi kerana ia menolak digit perlapanan yang tidak sah dan mendedahkan bit khas; ia bukan pengimbas sistem fail atau enjin pemulihan.

Bawa pulang: ketahui fail boleh tulis dan istimewa anda — dan gunakan kalkulator Chmod untuk menterjemah setiap mod yang mencurigakan sebelum anda menukarnya

Audit kebenaran yang berguna memisahkan penemuan daripada tafsiran. Biarkan proses luaran yang didokumenkan mengumpulkan laluan calon, kemudian gunakan kalkulator untuk menterjemah setiap mod yang dikembalikan ke dalam kebenaran kelas yang jelas. Semak digit bit khas pilihan dengan berhati-hati seperti di belakang tiga, kerana 0755, 2755 dan 4755 berkongsi kebenaran biasa tetapi menerangkan nilai dua belas bit yang berbeza.

Selesaikan dengan kesimpulan yang sempit: pemilik, kumpulan, lain-lain dan bit khas yang terkandung dalam mod yang dibekalkan. Jangan jadikan aritmetik itu sebagai tuntutan yang tidak disokong tentang pendedahan atau dasar yang diperlukan. Kalkulator membantu pengulas membaca mod yang mencurigakan dengan tepat; sistem langsung mesti membekalkan pemilikan, beban kerja dan bukti penguatkuasaan sebelum sesiapa mengubahnya.