Bahasa Indonesia

Alat pengembang · Kalkulator Chmod

POSIX ACL vs bit mode chmod: ketika rwx tidak cukup

· Latar belakang

chmod unix kontrol akses

Batas ACL ditampilkan sebagai diagram bit izin Unix yang berbeda
Ilustrasi vektor ToolAcre asli

Bit mode mencakup satu pemilik, satu grup, dan semua orang. Posting ini menjelaskan model POSIX.1e ACL yang mengisi kesenjangan, bagaimana model tersebut berinteraksi dengan chmod, dan kapan grup bersama masih merupakan jawaban yang lebih sederhana.

Satu pembaca lebih banyak dari yang dimungkinkan oleh model — sebuah file termasuk dalam grup aplikasi, dan satu auditor di luar grup perlu membacanya

Model mode biasa tidak memiliki slot identitas keempat. Hal ini dapat menjelaskan izin untuk satu pemilik, satu grup, dan semua orang, namun tidak dapat menyebutkan nama auditor tambahan. Kalkulator mencerminkan batas tersebut dengan tepat: matriksnya, tampilan simbolik, dan ringkasannya mengekspos ketiga kelas tersebut ditambah bit khusus, bukan entri akses per pengguna atau per grup.

Memperluas kelas lain hanya untuk mengakomodasi satu pembaca tambahan akan mempengaruhi setiap identitas yang termasuk dalam kelas tersebut. Kalkulator dapat menunjukkan perubahan aritmatika tersebut, seperti berpindah dari 0640 ke 0644, namun tidak dapat memutuskan apakah akses yang lebih luas dapat diterima. Akses bernama memerlukan bukti dan peralatan di luar rute ini.

Batasan tiga kelas — mengapa model tradisional memiliki satu slot masing-masing untuk pemilik, grup, dan lainnya

Setiap digit oktal di belakangnya termasuk dalam satu kelas tetap. Pemilik, grup, dan lainnya menerima bendera baca, tulis, dan eksekusi, menghasilkan sembilan posisi biasa. Model tidak dapat memasukkan triple lain untuk orang yang disebutkan namanya. Oleh karena itu, konversi yang berhasil menggambarkan mode dasar dengan tepat tanpa mengatakan apa pun tentang entri tambahan yang dilampirkan di tempat lain.

Batasan ini penting ketika membaca keluaran yang tampaknya membatasi. Nilai simbolis rw-r----- memberi tahu Anda pemilik dasar, grup, dan bit lain yang diwakili oleh 0640. Hal ini tidak membuktikan bahwa tidak ada identitas lain yang dapat membaca objek tersebut, karena kalkulator tidak memeriksa data ACL atau mengamati lapisan penegakan eksternal apa pun.

POSIX.1e ACL — entri pengguna dan grup bernama ditambahkan ke file yang sama, disetel dengan setfacl dan dibaca dengan getfacl

Entri pengguna bernama dan grup bernama tidak diterapkan. Sumber tidak berisi parser atau pemformat untuk catatan ACL, tidak ada masker ACL, dan tidak ada operasi setfacl atau getfacl. Konsep-konsep tersebut mungkin memotivasi penggunaan mekanisme kontrol akses eksternal, namun artikel ini tidak dapat menentukan sintaksis perintah atau perilaku di luar mengakui batas eksplisit kalkulator.

Jaga agar mode dasar tetap terlihat saat melakukan pekerjaan terpisah tersebut. Masukkan nilai oktal yang dilaporkan, verifikasi pemilik, grup, dan tripel lainnya, dan catat bit khusus apa pun. Kemudian gunakan dokumentasi sistem file resmi dan alat eksternal yang sesuai untuk entri bernama. Pratinjau chmod yang dihasilkan kalkulator tidak membuat, memeriksa, atau mempertahankan ACL.

Entri bernama ACL memerlukan alat eksternal yang tidak diterapkan di sini

Hubungan antara perubahan chmod, bit kelas grup, dan topeng ACL bergantung pada perilaku yang tidak diterapkan di sini. Kalkulator hanya mengubah mode dua belas bit dan mengeluarkan argumen penugasan atau oktal. Ia tidak memiliki negara bagian ACL yang dapat digunakan untuk menghitung hak efektif, sehingga ia tidak dapat memperkirakan apakah entri yang disebutkan akan dibatasi.

Hindari mendeskripsikan konsekuensi ACL hanya dari keluaran mode. Perubahan dari 0640 menjadi 0600 terbukti menghilangkan tiga bit kelas grup dalam model ini; segala sesuatu tentang pengguna yang disebutkan namanya, grup yang disebutkan namanya, atau topeng memerlukan ACL dan aturan platform yang sebenarnya. Verifikasi mereka yang memiliki dokumentasi sistem file sebelum menerapkan perintah yang ditampilkan ke objek yang mengandung ACL.

ACL interaksi topeng dengan chmod memerlukan dokumentasi sistem file

Warisan ACL default juga berada di luar rute. Halaman ini tidak memiliki masukan direktori ACL, tidak ada operasi pembuatan, dan tidak ada bidang umask. Mengalihkan pemilih target dari file ke direktori akan mengubah kata kerja bahasa Inggris biasa yang melekat pada mode tetap; itu tidak membuat file, memodelkan warisan, atau menghitung izin objek di masa depan.

Untuk alasan yang sama, mode direktori saat ini tidak dapat memprediksi setiap mode anak baru di sini. Kalkulator dapat menjelaskan bahwa pembacaan, penulisan, dan eksekusi direktori berhubungan dengan pencatatan, modifikasi entri, dan pencapaian konten bernama. Ia tidak dapat menggabungkan bit dasar tersebut dengan entri default, permintaan pembuatan, atau masker proses yang tidak pernah diterimanya.

Warisan ACL default dan interaksi umask berada di luar rute ini

Pertimbangkan mode dasar 0640 yang disediakan untuk file yang mungkin memerlukan pembaca tambahan. Kalkulator menampilkan rw-r-----: pemilik membaca dan menulis, membaca grup, tidak ada yang lain. Demikian pernyataan lengkap yang didukung masukan-masukannya. Ini tidak mengidentifikasi auditor atau menawarkan kelas keempat untuk menempatkan identitas tersebut.

Pertahankan catatan mode dasar ini sementara ACL pekerjaan dilakukan di tempat lain. Jika proses eksternal kemudian melaporkan mode yang berbeda, dekode lagi dan bandingkan setiap kelas. Jangan menempelkan perintah ACL ke dalam kolom mode atau menganggap pratinjau perintah menyertakan entri bernama. Itu selalu hanya mewakili mode numerik yang sedang ditampilkan.

Contoh praktis: menjaga mode dasar tetap dapat dibaca sementara ACL pekerjaan dilakukan di tempat lain

Keluarga ACL lainnya, aturan sistem file jarak jauh, dan dukungan mount tidak ditetapkan oleh sumber ini. Kalkulator tidak mendeteksi jenis penyimpanan, opsi pemasangan, sistem operasi, atau ketersediaan operasi ACL. Oleh karena itu, tampilan ACL yang hilang merupakan batasan implementasi, bukan bukti bahwa objek yang mendasarinya tidak memiliki kontrol akses yang lebih kaya.

Kebijakan wajib, kemampuan, kepemilikan, dan identitas proses juga terpisah. Bahkan pengetahuan lengkap tentang mode dasar tidak dapat menggantikan masukan tersebut. Laporkan konversi mode sebagai satu lapisan dan beri label setiap lapisan yang tidak teramati secara eksplisit. Hal ini mencegah tampilan rwx yang bersih disalahartikan sebagai analisis otorisasi yang lengkap.

Model ACL lainnya dan dukungan pemasangan tidak disimpulkan

Jika tiga kelas sudah mencukupi, kalkulator akan memberikan penghitungan yang tepat dan dapat dibalik. Jika tidak, jaga agar akun dasar tetap dapat dibaca daripada memaksakan pengecualian bernama ke kelas lain. Tampilan oktal, simbolis, dan kotak centang harus menyetujui nilai pemilik, grup, lainnya, dan bit khusus yang sama.

Aturan penghentiannya sederhana: gunakan rute ini untuk aritmatika mode dasar dan alat otoritatif eksternal untuk status ACL. Jangan pernah menyimpulkan entri bernama, masker, warisan, atau dukungan sistem file hanya dari rwx. Tinjauan yang cermat menggabungkan sumber bukti terpisah tersebut tanpa berpura-pura bahwa kalkulator tersebut mengimplementasikan struktur kontrol akses yang tidak terdapat dalam kode sumbernya.