Saya ingin mengamankan direktori unggah file di server saya seperti yang dijelaskan dengan indah di sini, tetapi saya punya satu masalah sebelum saya dapat mengikuti instruksi ini. Saya tidak tahu pengguna berjalan seperti apa Apache.
Saya telah menemukan saran bahwa Anda dapat mencari di httpd.conf dan akan ada baris "Pengguna", tetapi tidak ada baris seperti itu di file httpd.conf saya, jadi saya kira Apache berjalan sebagai pengguna default. Tapi aku tidak tahu apa itu.
Jadi, pertanyaan saya adalah:
- bagaimana cara mengetahui apa pengguna default itu
- saya harus mengubah pengguna default
- jika jawabannya adalah ya dan saya mengubah pengguna default dengan mengedit httpd.conf, apakah ada kemungkinan untuk mengacaukan sesuatu?
Terima kasih!
apache-2.2
eikonomega
sumber
sumber
root
danwww-data
. Bagaimana Anda memberi izin kepada kelompok Apache "benar" untuk mengakses sesuatu?Jawaban:
ps aux | egrep '(apache|httpd)'
biasanya akan menunjukkan apache berjalan seperti apa.Biasanya Anda tidak perlu mengubah pengguna default, "tidak ada" atau "apache" biasanya adalah pengguna yang baik. Selama itu bukan "root";)
sunting: perintah yang lebih akurat untuk menangkap binari apache juga
sumber
apache
tetapi 1 dariroot
juga./usr/sbin/apache2 -k start
), satu penggunaroot
dan dua lainnyawww-data
. Haruskah saya khawatir?Anda dapat mencoba perintah berikut:
sumber
Gunakan
apachectl -S
, yang akan menampilkan sesuatu pengguna dan grup Apache, sesuatu seperti ini:sumber
Menurut ubuntuforums.org , di Ubuntu pengguna default untuk apache2 adalah
www-data
.Terlihat benar di Ubuntu 13.10 Cakep.
Dari Lars Noodén di forum di atas.
Untuk distribusi berbasis Red Hat, biasanya (biasanya penggunanya yang menjalankan httpd
apache
):sumber
Saya tahu bahwa ini adalah posting lama, tetapi masih terdaftar sebagai belum dijawab, jadi saya akan memberikan saran. Jika Anda tidak dapat menemukan pengguna atau grup yang menjalankan Apache, mungkin coba buka file httpd.conf. Seharusnya ada entri di sana untuk "Pengguna" dan "Grup". Anda tidak hanya dapat melihat pengguna mana yang seharusnya dijalankan oleh Apache, tetapi Anda dapat mengubahnya jika Anda merasa perlu melakukannya.
sumber
Anda dapat memasukkan satu baris kode dalam skrip PHP Anda:
sumber
Kode ini akan - lebih atau kurang - secara alfabetis mencantumkan semua pengguna non-root yang menjalankan proses yang mengandung
apache
(atau yang namanya berisiapache
)sumber
ps aux | grep apache
saat sedang berjalan.CATATAN: Ini adalah jawaban yang sama yang saya berikan di Stackoverflow .
sumber
Atau Anda dapat memeriksa file konfigurasi apache dan mencari pemilik & grup.
sumber
Seperti yang disarankan oleh Noyo di sini :
Lalu:
sumber
Pendekatan alternatif, setidaknya untuk distro berbasis Debian / Ubuntu, adalah dengan menggunakan metode yang sama yang dilakukan Apache untuk mengatur pengguna dan grupnya: sumber
/etc/apache2/envvars
!Jika Anda ingin menjadi mewah, Anda dapat menekan kesalahan jika file tidak ditemukan, dan memberikan nilai default:
sumber
Saya menemukan sebagian besar solusi yang ditawarkan di sini adalah sistem atau konfigurasi khusus (khususnya, sebagian besar solusi tidak bekerja sama sekali pada MacOS) dan beberapa bergantung pada pengguna yang mengetahui di mana file konfigurasi Apache berada di tempat pertama .. .
Jadi saya sedikit menipu dan membiarkan Apache sendiri memberi tahu saya apa apa.
Perintah sederhana
apachectl -S
akan memberi tahu Anda apa yang perlu Anda ketahui tentang instance Apache yang sedang berjalan, dan hasilnya dapat diuraikan dengan cukup mudah. Inilah solusi saya, yang saya gunakan di bagian atas beberapabash
skrip untuk menentukan berbagai hal yang mungkin saya butuhkan pada waktu tertentu ...Nilai-nilai ini kemudian dapat digunakan sebagai berikut:
sumber
Saya menemukan perintah ini di dokumen CakePHP .
Sekarang
HTTPDUSER
memegang nama pengguna dari pengguna yang menjalankan server,echo $HTTPDUSER
dalam kasus saya keluaranwww-data
- menggunakan rlerdorf / php7dev .sumber
Gunakan lsof dan lulus port apache mendengarkan sebagai argumen. Lihat kolom USER untuk menjalankan apache pengguna.
sumber