Bahasa Indonesia

Alat pengembang · Kalkulator Chmod

chmod vs chown: mengapa mengubah mode sering kali merupakan tuas yang salah

· Mengapa itu penting

chmod unix kontrol akses

kepemilikan versus bit izin ditampilkan sebagai diagram bit izin Unix yang berbeda
Ilustrasi vektor ToolAcre asli

Bit mode hanya berarti sesuatu yang relatif terhadap pemilik dan grup. Posting ini memisahkan kedua perintah dan menunjukkan cara memutuskan, mulai dari kesalahan dan identitas proses, mana yang sebenarnya Anda perlukan.

Dua perintah, satu kesalahan — izin ditolak telah 'diperbaiki' tiga kali bulan ini dengan tiga baris chmod dan chown yang berbeda

chmod dan chown menangani informasi yang berbeda, meskipun keduanya muncul di dekat kesalahan izin. Kalkulator memodelkan bit izin untuk pemilik, grup, dan lainnya, ditambah bit khusus. Ia tidak menerima pemilik atau grup saat ini dan tidak melakukan operasi kepemilikan. Oleh karena itu, suatu mode dapat diterjemahkan dengan benar sementara hubungan identitasnya masih belum diketahui dan belum teruji.

Pisahkan pertanyaannya terlebih dahulu. “Apa yang diizinkan oleh 750?” dapat dijawab: pemilik mendapat rwx, grup mendapat rx dan yang lain tidak mendapat apa-apa. Siapa pemilik ini? dan “Identitas manakah yang menjalankan proses tersebut?” memerlukan bukti eksternal. Mengedit mode sebelum menyelesaikan identitas dapat memperluas kelas yang salah; tampilan tersinkronisasi tidak dapat memilih antara chmod dan perubahan kepemilikan.

Kepemilikan terlebih dahulu, lalu mode — bagaimana kernel memilih pemilik, grup, atau orang lain untuk suatu proses sebelum melihat bit apa pun

Pemilihan kelas bergantung pada identitas, yang tidak pernah diterima kalkulator. Pemiliknya, grupnya, dan tripel lainnya adalah kategori, bukan akun yang ditemukan. Ia tidak dapat mengetahui apakah suatu proses cocok dengan pemiliknya, termasuk dalam grup file atau termasuk dalam yang lain. Itu hanya membuat ketiga set izin dari satu bilangan bulat; kredensial memerlukan inspeksi eksternal.

Oleh karena itu, identitas merupakan prasyarat untuk menilai relevansi. Dengan mode 640, pemilik telah membaca dan menulis, grup telah membaca, dan lainnya tidak memiliki apa pun. Konversinya pasti, tapi triple yang berlaku belum. Tidak ada UID, keanggotaan, pemetaan kontainer, atau ACL yang memasuki negara bagian. Tetapkan fakta-fakta itu terlebih dahulu, lalu evaluasi bagian-bagian yang sesuai.

Pemilihan kelas bergantung pada identitas, yang tidak diterima kalkulator

Alat kepemilikan mengubah siapa yang menempati hubungan pemilik atau grup, sementara chmod mengubah izin yang melekat pada kelas tersebut. Kalkulator ini hanya mengimplementasikan sisi chmod. Ini menghasilkan teks chmod oktal atau simbolis dan tidak pernah mengeluarkan chown atau chgrp. Itu juga tidak mengubah file apa pun; bidang jalur hanya membuat pratinjau yang dikutip untuk tinjauan eksternal.

Memperluas mode dapat mengekspos kelas tambahan tanpa memperbaiki kepemilikan. Bandingkan 750 dengan 757: yang terakhir menambahkan pembacaan dan eksekusi lainnya. Kalkulator menampilkan delta tersebut tetapi tidak dapat menentukan apakah akun lain mendapat manfaat atau kepemilikan yang menyebabkan kegagalan. Tetapkan identitas pemilik, grup, dan proses secara eksternal, lalu berikan bit yang diperlukan hanya pada kelas yang dituju.

Pola grup bersama - chgrp plus setgid pada direktori ditambah 2775 sebagai jawaban standar untuk dua pengguna yang keduanya perlu menulis

Alur kerja grup bersama memerlukan alat dan kebijakan kepemilikan eksternal. Preset 775 diberi label “dibagikan dengan grup” karena penulisan grup diaktifkan. Preset 2775 menambahkan setgid, merender rwxrwsr-x; untuk direktori, file baru mewarisi grup direktori. Deskripsi bit ini bukan merupakan desain kolaborasi lengkap atau rekomendasi penerapan.

Halaman tidak dapat membuat grup, memilih anggota, menjalankan chgrp, atau menetapkan bahwa 2775 sesuai dengan beban kerja. Itu juga tidak dapat memeriksa ACL, umask, atau perilaku aplikasi default. Perlakukan preset sebagai aritmatika, bukan kebijakan. Selesaikan kepemilikan dan keanggotaan di tempat lain, lalu bandingkan mode kandidat sambil mendasarkan desain direktori bersama yang sebenarnya pada bukti lingkungan.

Alur kerja grup bersama memerlukan alat dan kebijakan kepemilikan eksternal

Setelah menyelesaikan kepemilikan di tempat lain, periksa mode direktori 750. Pemilik menerima baca, tulis, dan jalankan; kelompok menerima pembacaan dan eksekusi; yang lain tidak menerima apa pun. Grup dapat mendaftar dan masuk tetapi tidak dapat membuat, mengganti nama, atau menghapus entri. Kalkulator merender rwxr-x--- dan u=rwx,g=rx,o= tanpa memeriksa direktori atau akun sebenarnya.

Periksa 640 secara terpisah untuk file biasa. Ini menjadi rw-r-----: pemilik membaca dan menulis, membaca kelompok, dan tidak ada apa-apa untuk yang lain. Halaman tersebut menampilkan kedua hasil tetapi tidak dapat menetapkannya secara rekursif, mengidentifikasi akun penerapan, atau memilih grup layanan. Mengklaim kesesuaian untuk /var/www memerlukan bukti beban kerja dan identitas yang tidak ada di sini.

Contoh praktis: periksa 750 dan 640 setelah kepemilikan diselesaikan di tempat lain

Penemuan identitas proses terletak di luar alat browser ini. Tidak ada sumber yang memanggil ps, membaca konfigurasi layanan, memeriksa ruang nama kontainer atau database akun kueri. Kalkulator tidak dapat mengidentifikasi akun yang sedang berjalan atau grup tambahan, sehingga tidak dapat menentukan kelas izin mana yang mengatur suatu operasi. Klasifikasi tersebut memerlukan bukti terkini dari lingkungan runtime dan sistem file yang bertanggung jawab.

Setelah identitas eksternal terbentuk, tinjau kelas yang relevan dengan tepat. Jika suatu proses harus menggunakan akses grup, 640 memberikan kelas tersebut membaca tetapi tidak menulis, sementara 660 menambahkan grup-tulis. Aritmatika ini bukanlah suatu rekomendasi; bit yang benar tergantung pada operasi yang diperlukan. Simpan penemuan dan kebijakan di luar konverter, gunakan untuk mencegah kesalahan representasi.

Penemuan identitas proses berada di luar alat browser ini

Pemetaan ACL dan kontainer UID tidak ada di kalkulator. Modelnya mencakup tiga kelas biasa dan bit khusus, tetapi tidak ada entri bernama ACL, terjemahan mask atau namespace. Sebuah mode mungkin terlihat cukup ketika lapisan lain membatasi akses, atau membatasi ketika ACL memperluasnya. Bilangan bulat yang diberikan saja tidak dapat menyelesaikan kedua kemungkinan tersebut.

Masukan yang hilang membatasi diagnosis dan remediasi. Rute tidak dapat memilih antara perubahan chmod, chown, ACL, atau koreksi pemetaan. Ini dapat memecahkan kode mode dasar yang disediakan dan membuat huruf khusus seperti s, S, t dan T. Perlakukan itu sebagai satu lapisan bukti, bukan bukti tentang akses pihak ketiga atau kontainer.

Kesimpulan: tentukan identitas sebelum bit - lalu gunakan kalkulator Chmod untuk membuat bit selebar kebutuhan identitas

Putuskan identitas sebelum bit. Mode bekerja melalui pemilik, grup, dan kelas lain, tetapi kalkulator mengetahui izin, bukan akun yang menempatinya. Setelah inspeksi eksternal menetapkan kepemilikan dan identitas proses, masukkan kandidat dan verifikasi setiap tanda baca, tulis, dan eksekusi yang diinginkan. Membandingkan nilai yang berdekatan akan memperlihatkan pelebaran yang tidak disengaja sebelum perintah keluar dari browser.

Hasil akhirnya masih berupa proposal. Halaman ini menolak input yang salah format, menyinkronkan bentuk oktal dan simbolik, menjelaskan arti file dan direktori, mengutip jalur dan menghasilkan teks chmod. Itu tidak dapat menjalankan perintah, mengubah kepemilikan, mengevaluasi ACL, memeriksa kebijakan atau menguji aplikasi. Validasi setiap perubahan yang diusulkan pada sistem yang bertanggung jawab setelah menyelesaikan identitas.