Bahasa Melayu

Alat pembangun · Kalkulator Chmod

Membetulkan nginx 403 Dilarang: kebenaran fail dan direktori yang penting

· Mengapa ia penting

chmod unix kawalan akses

diagnosis akar web ditunjukkan sebagai gambar rajah bit kebenaran Unix yang berbeza
Ilustrasi vektor ToolAcre asal

403 daripada nginx selalunya merupakan masalah sistem fail, bukan masalah konfigurasi. Siaran ini menunjukkan cara menyemak pengguna nginx yang dijalankan dan bit yang diperlukan pada setiap direktori dalam laluan.

403 pada tapak statik yang berfungsi secara setempat — fail datang daripada /home/deploy dan nginx mengatakan dilarang untuk setiap URL

Nginx 403 mungkin melibatkan bit mod, tetapi laluan ini tidak dapat mengenal pasti puncanya. Kalkulator tidak mempunyai integrasi nginx, log, penghurai konfigurasi, carian proses atau pejalan laluan. Ia menjawab soalan yang lebih sempit: sama ada kelas direktori telah melaksanakan dan sama ada kelas fail biasa telah membaca, membantu mentafsir bukti yang dikumpul di tempat lain.

Mulakan dengan mod tepat yang diperhatikan pada setiap komponen laluan daripada menganggap lalai. Masukkan setiap mod dan pilih jenis sasarannya. Teks simbolik, kotak semak dan prosa mendedahkan kebenaran kelas dan mengesahkan penukaran, tetapi tidak dapat menunjukkan bahawa nginx mencuba akses, identiti yang digunakannya atau sama ada kebenaran sistem fail menghasilkan respons.

403 mungkin melibatkan bit mod, tetapi laluan ini tidak dapat mengenal pasti puncanya

Kalkulator tidak dapat menemui identiti pekerja nginx. Ia memodelkan pemilik, kumpulan dan kelas lain, tetapi tiada nama pengguna, proses atau keahlian. Oleh itu, mod seperti rwxr-xr-x tidak mengatakan sama ada pekerja memiliki objek itu, tergolong dalam kumpulannya atau berada di bawah yang lain. Pemeriksaan luaran mesti menetapkan klasifikasi itu.

Penemuan identiti mesti mendahului tuntutan tentang bit yang berkaitan. Selepas bukti menetapkan kelas yang berkenaan, matriks menunjukkan dibaca sebagai 4, tulis sebagai 2 dan laksanakan sebagai 1. Sebelum itu, kumpulan penyuntingan atau lain-lain adalah tekaan. Laluan tidak membaca keadaan proses; ia menterjemah mod yang dibekalkan dan bukannya membuat kesimpulan seni bina pelayan.

Kalkulator tidak menemui identiti pekerja nginx

Periksa setiap komponen direktori sebagai mod yang dibekalkan berasingan. Untuk direktori, laksana membenarkan kemasukan dan capaian berasaskan nama, baca membenarkan penyenaraian, dan tulis membenarkan mencipta, menamakan semula dan memadamkan entri. Penjelasan khusus sasaran membantu penyemak menentukan sama ada kelas yang ditubuhkan secara luaran telah melaksanakan pada komponen tertentu tanpa mendakwa untuk memeriksa laluan itu sendiri.

Pelayar tidak berjalan dari akar ke akar web. Ia tidak dapat mengesan komponen penyekat, mengesahkan kewujudan atau memeriksa ACL. Bekalkan setiap mod direktori yang diperhatikan secara berasingan, kemudian semak objek akhir sebagai fail biasa, di mana bacaan membimbangkan kandungan dan bukannya penyenaraian. Ini mentafsir bukti yang dikumpul dan bukannya menggantikan pemeriksaan sistem fail.

Fail memerlukan r, dan tidak lebih — mengapa 644 cukup untuk fail statik dan mengapa 755 pada fail bukanlah pembetulan

Untuk fail statik, 644 menghasilkan rw-r--r--. Pemilik menerima baca dan tulis, manakala kumpulan dan lain-lain menerima bacaan; tiada siapa yang menerima laksana. Penukaran ini menunjukkan bahawa fail dibaca dan dilaksanakan adalah bit yang berasingan. Halaman ini tidak mempunyai asas untuk memutuskan sama ada pelayan tertentu perlu dilaksanakan, kerana dasar pelayan tidak hadir.

Pastikan penjelasan fail dan direktori berbeza. Laksana direktori bermaksud kebolehcapaian berasaskan nama dan kemasukan, manakala pelaksanaan fail biasa bermaksud menjalankan program. Oleh itu, kotak semak yang sama mempunyai prosa khusus sasaran. Membandingkan 644 dengan 755 menjelaskan bit, tetapi tidak boleh mendiagnosis 403 atau menetapkan mod universal tanpa konfigurasi, identiti, ACL dan konteks dasar.

Contoh yang berjaya: mengesan /home/deploy/site/index.html — namei -l pada laluan dan baris ls -l yang mendedahkan penyekat

Contoh yang disokong bermula selepas bukti laluan dikumpulkan di tempat lain. Katakan komponen direktori ialah 755 dan fail akhir ialah 644. Kalkulator menjadikan direktori sebagai rwxr-xr-x, menerangkan kumpulan dan pelaksanaan lain sebagai kemasukan dan kebolehcapaian. Ia menjadikan fail sebagai rw-r--r--, menerangkan kumpulan dan bacaan lain sebagai akses kandungan.

Jika komponen ialah 750, tiga kali ganda lagi ialah ---, manakala kumpulan kekal r-x. Perbezaan itu mungkin penting, tetapi tidak membuktikan nginx menggunakan lain. Laluan tidak boleh menjalankan namei atau ls, jadi bukti luaran mesti membekalkan laluan dan mod. Ia kemudian menyegerakkan setiap perwakilan untuk mengurangkan ralat transkripsi semasa semakan.

Contoh yang berfungsi: periksa mod yang dibekalkan untuk setiap komponen laluan

Keputusan pemilikan kekal di luar penukaran mod. Panel tidak membaca pemilik atau kumpulan dan tidak menawarkan operasi chown atau chgrp. Ia tidak boleh memilih antara penggunaan, perkhidmatan atau pemilikan kumpulan kongsi, atau menilai kandungan bergerak. Keputusan tersebut memerlukan bukti sistem dan beban kerja yang tiada daripada sumber; tiada mod yang dijana boleh menggantikan konteks itu.

Selepas pemilikan diselesaikan di tempat lain, bandingkan cara mod membahagikan akses. Mod 750 memberikan kebenaran penuh pemilik, membaca dan melaksanakan kumpulan, dan tiada apa-apa kepada yang lain; 755 menambah bacaan dan laksana yang lain. Ini tetap bersyarat untuk mengetahui kelas pekerja. Pratonton arahan lengai tidak mengubah pemilikan mahupun mengesahkan akses pelayan.

Pilihan pemilikan kekal luaran kepada penukaran mod

Konfigurasi, pemilihan indeks, kawalan akses mandatori dan tingkah laku huluan tidak didiagnosis di sini. Tiada sumber memuatkan konfigurasi nginx, menyemak URI atau indeks, membaca log, menghubungi huluan atau memerhati SELinux atau AppArmor. Oleh itu, menukar mod yang dibekalkan dengan betul tidak dapat menentukan sebab nginx mengembalikan 403; bukti pelayan mesti menjawab soalan itu.

Kekalkan perbezaan ini apabila mod kelihatan mencurigakan. Panel mungkin menunjukkan bahawa kelas direktori kekurangan pelaksanaan atau kelas fail kekurangan bacaan, tetapi perkaitan bergantung pada identiti dan bukti laluan. Bit permisif juga tidak boleh mengecualikan sebab lain. Nyatakan dengan tepat apa yang dibenarkan oleh mod, kemudian kembali ke diagnostik khusus pelayan.

Konfigurasi, indeks, MAC dan punca huluan tidak didiagnosis

Akses laluan mungkin bergantung pada setiap komponen, namun kalkulator melihat satu nilai yang dibekalkan pada satu masa. Kekuatannya ialah penyahkodan yang tepat: oktal, teks simbolik dan kotak semak kekal disegerakkan, manakala prosa direktori membezakan penyenaraian, pengubahsuaian dan kemasukan. Ia memudahkan semakan tanpa berpura-pura menemui komponen atau proses yang mencuba akses.

Wujudkan identiti pelayan dan kumpulkan mod laluan di luar laluan ini. Nyahkod setiap direktori sebagai direktori dan objek akhir sebagai fail biasa, memfokuskan pada kelas yang disahkan secara luaran. Siasat konfigurasi, ACL dan dasar mandatori secara berasingan. Kalkulator mengesahkan aritmetik, tetapi tidak dapat mengenal pasti punca 403 atau mengesahkan pembetulan.