Berbagi teknologi

Di Windows, gunakan perintah icacls untuk memberikan akses kepada pengguna Apache

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Men-debug server cloud gratis, Sanfeng Cloud, proses izin pengguna.
Di Windows, perintah icacls adalah alat yang sangat ampuh untuk mengubah izin pada file dan direktori. Namun, perlu dicatat bahwa server web default Windows (seperti IIS) biasanya berjalan di bawah akun pengguna tertentu, seperti IUSR, IWAM_ plus nama mesin, atau di versi Windows yang lebih baru, melalui akun pengguna khusus konfigurasi kumpulan aplikasi . Apache biasanya tidak diinstal sebelumnya di Windows, tetapi jika Anda menginstalnya (mungkin melalui paket seperti akun layanan untuk menjalankannya.

Karena Apache tidak menggunakan akun pengguna bernama apache secara default di Windows, Anda harus terlebih dahulu menentukan pengguna mana yang sebenarnya menjalankan Apache. Ini biasanya dapat ditemukan di properti layanan Apache (di Manajer Layanan, klik kanan layanan Apache, pilih Properti, dan lihat tab Login).

Dengan asumsi Anda telah mengidentifikasi akun tempat layanan Apache berjalan (kami akan menyebutnya di sini), dan Anda ingin menggunakan perintah icacls untuk memberikan akses akun tersebut ke file atau direktori tertentu, Anda dapat mengikuti langkah-langkah berikut:

Buka prompt perintah (sebagai administrator).
Gunakan perintah icacls untuk memberikan izin. Misalkan Anda ingin memberikan izin baca ke direktori C:pathtoyourdatabasefiles, Anda dapat menggunakan perintah berikut:
perintah suara
icacls “C:pathkefiledatabaseanda” /grant “”:R
Di sini, parameter /grant digunakan untuk memberikan izin, "" adalah nama akun layanan Apache yang berjalan (harap ganti dengan nama akun sebenarnya), dan :R menunjukkan izin baca.

Jika Anda juga ingin memberikan izin yang sama ke subdirektori dan file, Anda dapat menambahkan parameter /T (yang berarti memproses semua file dan direktori di pohon direktori secara rekursif):
perintah suara
icacls “C:pathkefiledatabaseanda” /grant “”:R /T
Jika Anda ingin memastikan bahwa akun dapat melintasi pohon direktori (walaupun akun tersebut tidak secara eksplisit diberikan akses ke direktori tertentu), Anda mungkin juga ingin mempertimbangkan untuk menambahkan opsi /I (mewarisi), namun hal ini biasanya tidak diperlukan karena /grant Warisan sudah ditangani secara implisit. Namun, jika Anda ingin memastikan izin secara eksplisit ditetapkan sebagai dapat diwariskan, Anda dapat melakukan ini:
perintah suara
icacls “C:pathkefiledatabaseanda” /grant “”:(OI)(CI)R
Di sini, (OI) berarti warisan objek, (CI) berarti warisan wadah, dan R masih izin baca.

Harap diperhatikan sebaiknya diganti dengan nama akun yang sebenarnya digunakan oleh layanan Apache. Jika Anda tidak yakin, Anda dapat kembali ke Manajer Layanan dan melihat properti layanan Apache.

Selain itu, jika file database Anda diakses melalui ODBC dan file tersebut terletak di lokasi jaringan atau dilindungi oleh mekanisme keamanan lainnya (seperti enkripsi file), Anda mungkin perlu mempertimbangkan faktor lain untuk memastikan bahwa Apache berhasil mengaksesnya. Namun, untuk sebagian besar database berbasis file (seperti dBASE), langkah-langkah di atas sudah cukup.