Masalah izin FTP dan Apache


10

Saya mengalami masalah pengguna mana yang harus memiliki direktori www - ftp atau apache? Ketika diatur ke pengguna ftp, pengguna dapat menambahkan, menghapus dan dengan mudah memodifikasi file tetapi tindakan sistem file php menghasilkan kesalahan yang ditolak izin (tentu saja karena mereka mengharuskan pengguna untuk menjadi apache). Namun, jika direktori www dicolok ke apache, ftpuser tidak akan dapat melakukan beberapa tindakan seperti modifikasi dan penghapusan file. Adakah yang pernah mengalami masalah serupa? Apa masalahnya? Terima kasih

Jawaban:


12

Inilah gunanya kelompok.

Anda dapat menambahkan ftppengguna ke apachegrup, dan sebaliknya. Atau, bahkan lebih baik, Anda bisa menambahkannya ke grup ketiga yang Anda buat khusus untuk tujuan ini.

misalnya

# groupadd mygroup
# useradd -G mygroup ftp
# useradd -G apache grup saya
# chown -R: mygroup / var / www
# chmod -R g + rw / var / www

Perintah-perintah itu melakukan hal berikut:

  1. Membuat grup baru 'grup saya'
  2. Menambahkan pengguna ftp ke mygroup
  3. Menambahkan pengguna apache ke mygroup
  4. Secara rekursif memberikan kepemilikan grup ke konten / var / www / ke mygroup
  5. Secara rekursif memberikan grup izin baca & tulis untuk konten / var / www /

Anda hanya perlu memastikan bahwa file yang ditambahkan di masa mendatang adalah milik grup 'mygroup' dan memiliki izin yang sesuai untuk apache dan ftp untuk membaca / menulisnya.


3
Menggabungkan " find /var/www -type d -print0 | xargs -0 chmod g+s /var/www" dengan umask 002 akan memastikan bahwa file dan direktori baru di / var / www mewarisi grup yang sesuai dan izin bagi grup untuk memiliki akses r / w. Banyak distribusi Linux sekarang default untuk umask 002 (yang sama yang default untuk membuat grup baru untuk setiap pengguna baru)
freiheit

Jawaban ini bekerja dengan sempurna! Tapi saya punya satu masalah di mana pengguna masih dapat melihat semua direktori lain di luar var/wwwapakah ada metode untuk membatasi ini?
maxisme

3
Baris 2 dan 3 tidak akan berfungsi jika pengguna sudah ada (di CentOS 7). Dalam hal ini gunakan usermodmisalnyausermod -G mygroup ftp
nick

Sederhana, jelas, dapat dimengerti! Sempurna! Terima kasih, @hobodave!
GTodorov

4

Sebagian besar konten Anda harus dimiliki oleh pengguna selain dari apache. Dengan asumsi Anda menggunakan FTP untuk memperbarui konten Anda, Anda dapat mengatur semua file yang akan dimiliki oleh ftp: apache. Saya akan menyarankan menggunakan SCP untuk SFTP daripada ftp. File harus memiliki izin 644 atau 640 dan izin direktori 755 atau 750.

Untuk file dan direktori, aplikasi perlu menulis untuk menambahkan akses tulis grup.


0

Saya memiliki masalah yang sama dengan halaman php yang dibangun yang akan menyalin folder di server dengan nama yang berbeda. Saya memperbaikinya dengan mematikan mode aman php.


2
PHP safe mode ada karena suatu alasan. Mematikannya sama sekali bukan ide yang bagus.
user9517
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.