Bahasa Melayu

Alat pembangun · Kalkulator Chmod

Perkara yang tidak dapat diungkapkan oleh chmod: keupayaan, fail tidak boleh diubah dan MAC

· Latar belakang

chmod unix kawalan akses

had melebihi bit mod yang ditunjukkan sebagai gambar rajah bit kebenaran Unix yang berbeza
Ilustrasi vektor ToolAcre asal

Bit mod adalah salah satu daripada beberapa lapisan yang menentukan sama ada operasi berjaya. Siaran ini memperkenalkan yang lain (keupayaan fail, bendera chattr, SELinux dan AppArmor) dan cara mengenali penafian setiap satu.

Root tidak boleh menulis fail 644 — mod mengatakan ya, chmod tidak mengubah apa-apa dan ralat berterusan

Mod boleh membenarkan operasi semasa operasi masih gagal. Kalkulator menyahkod 644 sebagai rw-r--r--, bermakna pemilik boleh membaca dan mengubah suai fail biasa manakala kumpulan dan lain-lain boleh membacanya. Itu sahaja menyelesaikan bit tradisional yang dibekalkan. Ia tidak membuktikan pemilikan proses, identiti laluan, mahupun ketiadaan lapisan penguatkuasaan lain.

Sumber tersebut menamakan beberapa kawalan yang tidak dimodelkan: keupayaan, atribut tidak berubah, dasar akses mandatori, lekapkan bendera, ruang nama, penapis syscall, ACL dan pemilikan. Memasuki semula mod atau menjana arahan chmod lain tidak mendedahkan apa-apa tentangnya. Mula-mula sahkan perjanjian oktal, simbolik dan matriks; jika kegagalan berterusan, kumpulkan bukti daripada persekitaran dan bukannya meluaskan tekaan chmod.

Operasi serasi mod masih boleh gagal untuk lapisan yang tidak dapat dilihat oleh alat ini

Kalkulator tidak memodelkan pesanan antara kawalan luaran. Keseluruhan model datanya ialah integer daripada oktal 0000 hingga 7777, dikembangkan kepada pemilik, kumpulan, lain-lain, setuid, setgid dan boolean melekit. Penjelasan menggunakan nilai dan jenis sasaran tersebut. Tiada laluan keputusan kernel, jujukan modul keselamatan, atau hasil syscall memasuki pengiraan.

Had itu menjadikan halaman sebagai langkah pertama yang terkawal. Sahkan mod, bezakan traversal daripada pelaksanaan, dan perhatikan huruf bit khas. Artikel 501 menambah pemilikan dan direktori induk dilaksanakan sebagai semakan berdekatan. Di luar itu, sumber ini tidak memberikan kedudukan diagnostik antara ACL, dasar mandatori, lekapan, atribut, ruang nama, keupayaan atau penapis. Mod yang serasi sahaja mengecilkan soalan.

Kalkulator tidak memodelkan pesanan antara lapisan penguatkuasaan luaran

Keupayaan fail berada di luar bukti yang ada. Pelaksanaan tidak mengandungi nama keupayaan, penghurai data, arahan pemeriksaan atau akaun interaksi mereka dengan setuid. Ia boleh mengekod setuid sebagai 4000 dan menerangkan fail biasa boleh laku. Itu tidak sepatutnya menjadi perbandingan dengan sistem keistimewaan yang lebih halus yang tidak dimodelkan mahupun didokumenkan oleh repositori ini.

Apa yang dibuktikan oleh halaman itu adalah konkrit. Mod 4755 menjadi rwsr-xr-x, nama ringkasannya setuid dan tugasan menambahkan u+s. Mod 4644 menggunakan huruf besar S kerana pelaksana pemilik tidak hadir, mendedahkan gabungan yang dipanggil hampir selalu tersilap. Ujian menetapkan fakta mod tersebut; alat luaran mesti menentukan sama ada keupayaan wujud, membenarkan akses atau menawarkan reka bentuk yang lebih baik.

Keupayaan fail berada di luar set sumber

Atribut tidak boleh ubah dan tambahan sahaja juga tiada dalam model. Kalkulator tidak membaca atribut sistem fail mahupun mengecam arahan untuk menukarnya. Matriksnya mengandungi rwx untuk pemilik, kumpulan dan lain-lain, ditambah tiga bit khas. Oleh itu, bit tulis yang boleh dilihat tidak dapat menjamin penulisan yang berjaya, dan menogolnya berulang kali tidak dapat mendiagnosis atribut yang tidak pernah diperhatikan oleh halaman.

Pastikan perbezaan beroperasi. Jika 644 dipaparkan dengan betul, penulisan pemilik wujud dalam mod tradisional; itu adalah bukti representasi, bukan penulisan yang lengkap. Halaman tidak membuka laluan paparan yang disebut dengan selamat atau menjalankan arahan yang dijananya. Apabila bit yang mencukupi mengiringi kegagalan sebenar, periksa objek dan sistem sebenar daripada mengaitkan keadaan tidak diperhatikan.

Atribut tidak boleh ubah dan tambah sahaja berada di luar set sumber

Konteks kawalan akses mandatori, profil dan log tidak dihuraikan di sini. Sumber menyebut SELinux dan AppArmor sahaja sebagai contoh keputusan yang tidak dapat diperhatikan oleh kalkulator. Mereka tidak memberikan sintaks konteks, semantik dasar, format log atau arahan diagnostik. Oleh itu, mod sahaja tidak boleh mengaitkan penafian kepada mana-mana sistem; bukti mesti datang dari persekitaran penguatkuasaan.

Pemilih fail-atau-direktori mengukuhkan sempadan ini. Ia menukar kata kerja seperti run, list, create, delete, enter dan reach, tetapi tidak mengubah integer mahupun membaca label dasar. A 755 berkongsi program dan direktori rwxr-xr-x sambil menerangkan tindakan biasa yang berbeza. Tiada penjelasan meramalkan hasil dasar mandatori, jadi kekalkan mod yang disahkan dan rujuk log platform.

Konteks dan log kawalan akses mandatori berada di luar set sumber

Mod yang dibekalkan tidak boleh mendedahkan pilihan pelekap. Kalkulator menerima teks perlapanan atau simbolik dan laluan pilihan yang digunakan sahaja untuk paparan arahan. Ia tidak pernah membuka laluan itu, mengenal pasti pelekapnya, atau membaca konfigurasi. Sumber menyenaraikan tingkah laku baca sahaja, tiada laksana dan tiada setuid sebagai kebimbangan luaran, tetapi tidak memberikan butiran platform untuk mendiagnosis dasar tersebut.

Teks yang dijana mungkin termasuk mod perlapanan, laluan petikan dan bendera -R yang dipaparkan, namun tiada satu pun yang membuktikan sistem fail akan memenuhi permintaan tersebut. Malah nilai bit khas yang pergi balik dengan sempurna mungkin tidak berkesan di bawah peraturan yang tidak kelihatan. Anggap arahan sebagai artifak semakan, kemudian sahkan sistem fail sasaran sebelum menuntut kebenaran ditukar atau pelaksanaan menjadi mungkin.

Pilihan pelekap tidak ditemui daripada mod yang dibekalkan

Ruang nama dan penapis syscall tidak muncul di mana-mana dalam model mod. Input tidak mengandungi identiti proses, konteks kontena, senarai syscall atau konfigurasi masa jalan. Halaman tidak dapat mengetahui sama ada proses melihat laluan yang sama, mencapai objek yang dijangkakan atau mempunyai panggilan yang ditapis. Soalan tersebut pada asasnya berbeza daripada menambahkan 4, 2 dan 1 dalam tiga kali ganda kebenaran.

Jangan simpulkan mekanisme masa jalan daripada penukaran yang berjaya. Pengesahan meliputi digit perlapanan yang salah bentuk, panjang simbolik dan huruf yang salah letak. Keputusan yang sah bermakna sahaja teks yang dipetakan kepada mod yang boleh diwakili; ia tidak mengesahkan persekitaran pelaksanaan. Oleh kerana teks cangkerang yang dijana adalah lengai, ruang nama dan analisis penapis masih memerlukan bukti masa jalan yang tiada daripada sumber ini.

Ruang nama dan penapis syscall tidak diwakili

Mulakan dengan mod kerana ia padat dan mudah diatur masuk atau keluar. Terjemahkan nilai, periksa setiap kelas, bezakan fail daripada direktori, dan dedahkan sebarang awalan bit khas. Persetujuan antara oktal, simbolik, matriks, ringkasan, dan penjelasan menjadikan soalan tradisional terbentuk dengan baik. Ia mungkin mendedahkan sedikit yang hilang atau berlebihan, bukan kuasa eksklusif.

Teruskan sahaja dengan bukti dari sistem sebenar. Pemilikan, ACL, atribut, dasar mandatori, lekapan, keupayaan, ruang nama, penapis dan peraturan aplikasi tidak ditemui di sini. Pratonton tidak membaca atau mengubah fail. Kesimpulan berdisiplin adalah sempit: menyelesaikan aritmetik mod dibekalkan secara tempatan, kemudian menyiasat penguatkuasaan luar dan bukannya berbasikal melalui nilai chmod yang lebih luas tanpa mengetahui penafian itu.