FTP ve Apache izin sorunları


10

Im hangi kullanıcı benim www dizin - ftp veya apache sahibi olması gerektiği ile ilgili sorunlar yaşıyorsanız? Ftp kullanıcısı olarak ayarlandığında, kullanıcı dosya ekleyebilir, remoe ve kolayca değiştirebilirsiniz ancak php dosya sistemi eylemleri izin reddedilen hatalar (tabii ki kullanıcı apache olmasını gerektirdiği için) üretir. Bununla birlikte, www dizini apache'ye yerleştirilirse, ftpuser dosya değişikliği ve silme gibi bazı eylemleri gerçekleştiremez. Hiç benzer bir sorunla karşılaştınız mı? Çözüm nedir? Teşekkürler

Yanıtlar:


12

Gruplar bunun içindir.

ftpKullanıcıyı apachegruba veya tam tersi şekilde gruba ekleyebilirsiniz . Ya da daha iyisi, bu amaç için özel olarak oluşturduğunuz üçüncü bir gruba ekleyebilirsiniz.

Örneğin

# groupgrup ekle
# useradd -G mygroup ftp
# useradd -G mygroup apache
# chown -R: grubum / var / www
# chmod -R g + rw / var / www

Bu komutlar aşağıdakileri yapar:

  1. Yeni grup 'grubum' oluşturur
  2. Grubuma ftp kullanıcısı ekler
  3. Grubuma apache kullanıcısı ekler
  4. Grubumun / var / www / içeriğine yinelemeli olarak grup sahipliği verir
  5. / Var / www / içeriğine düzenli olarak grup okuma ve yazma izinleri verir

İleride eklenecek dosyaların 'grubum' grubuna ait olduğundan ve bunları okumak / yazmak için hem apache hem de ftp için uygun izinlere sahip olduğundan emin olmanız yeterlidir.


3
" find /var/www -type d -print0 | xargs -0 chmod g+s /var/www" İfadesini 002 umask ile birleştirmek , / var / www içindeki yeni dosya ve dizinlerin, grubun r / w erişimine sahip olması için uygun grubu ve izinleri devralmasını sağlar. Artık birçok Linux dağıtımı varsayılan olarak 002 umask'ına (her yeni kullanıcı için yeni bir grup oluşturmak için varsayılanlarla aynı)
freiheit

Bu cevap mükemmel çalışıyor! Ama kullanıcı hala diğer tüm dizinleri görebilirsiniz dışında bir sorunu yaşıyorum var/wwwbu kısıtlamak için bir yöntem var mı?
maxisme

3
Kullanıcılar zaten varsa (CentOS 7'de) 2. ve 3. satırlar çalışmaz. Bu durumda usermodörn.usermod -G mygroup ftp
nick

Basit, açıklayıcı, anlaşılır! Mükemmel! Teşekkürler @hobodave!
GTodorov

4

İçeriğinizin çoğunun, apache dışında bir kullanıcıya ait olması gerekir. İçeriğinizi güncellemek için FTP kullandığınızı varsayarsak, ftp: apache'ye ait tüm dosyaları ayarlayabilirsiniz. FTP yerine SFTP için SCP kullanmanızı öneririm. Dosyaların 644 veya 640 izinleri ve 755 veya 750 dizin izinleri olmalıdır.

Dosya ve dizinler için, uygulamanın grup yazma erişimi eklemek için yazması gerekir.


0

Ben php sayfası ile benzer bir sorun vardı farklı bir isim ile sunucuda bir klasör kopyalamak bir yapılı. Ben php güvenli modunu kapatarak düzeltildi.


2
PHP güvenli mod bir nedenle var. Kapatmak hiç de iyi bir fikir değil.
user9517
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.