Ben zaten http.itk ile her web sayfasını farklı bir kullanıcı açarak
çalıştırıyorum. Normalde ben /tmp dizinini ayrı bir disk bölümü olarak
ayarlayıp kullanıyordum (nodev, nosuid v.s ayarları için) ve tüm sistem
için /tmp dizini şeklinde kullanıyordum. Ancak vhosts'lar için tmp
dizinlerinin yukarıdaki gibi kullanılması tavsiye edilmiş, ben de ona
uymaya çalıştım. log'lardan baktığımda aşağıdaki mesajlarla karşılaştım ki
burada ilk hatada /tmp dizini şeklinde adreslenmiş.

 PHP Warning:  Unknown: open_basedir restriction in effect. File(/tmp) is
not within the allowed path(s):
(/var/www/html/orneksite/tmp:/var/www/html/orneksite/httpdocs) in Unknown
on line 0, referer: http://orneksite.net/wp-admin/theme-install.php?upload
 PHP Warning:  File upload error - unable to create a temporary file in
Unknown on line 0, referer:
http://orneksite.net/wp-admin/theme-install.php?upload

Yazma testini yaptığımda o sitenin kullanıcısı ile bağlanıp dosya
oluşturabildiğimi gördüm (hem tmp dizinine hem de httpdocs'un içerisine)



29 Mayıs 2016 16:31 tarihinde Doruk Fisek <[email protected]>
yazdı:

> Sun, 29 May 2016 14:54:14 +0300, yaşar tunçez <[email protected]> :
>
> > Birden fazla sitenin yayınlandığı bir sunucuda wordpress ile yapılmış
> > sayfalar var. Güvenlik açısından tmp dizinlerini de ayırarak her bir
> > web sitesi için (yapılandırma dosyalarında) aşağıdaki gibi kayıtlar
> > girmeyi düşündüm:
>
> tmp dizinlerini ayırmanızın teknik açıdan getireceği bir güvenlik yok.
> Linux'un /tmp dizini, zaten kullanıcıların birbirlerinin dosyalarına
> müdahale edemeyeceği bir alan.
>
> Amacınız bu şekilde güvenlik arttırmaksa, PHP-FPM gibi bir uygulama
> sunucusu kullanıp, her bir site için uygulama sunucusunu ayrı bir
> kullanıcı ile çalıştırabilirsiniz. Birbirlerinin dosyalarına dosya
> sistemi düzeyinde de ulaşamazlar. Ama performans açısından bir düşüş
> yaşarsınız, bir site için kullanılmayan bir uygulama sunucusu süreci
> diğer bir site için kullanılamaz.
>
> > php_admin_value upload_tmp_dir /var/www/html/orneksite/tmp
> > php_value session.save_path /var/www/html/orneksite/tmp
> > php_admin_value open_basedir
> > /var/www/html/orneksite/tmp:/var/www/html/orneksite/httpdocs
> > Ancak bu değişiklikten sonra wordpress'te tema yüklemeye çalıştığımda
> > geçici klasör kayıp şeklinde hata veriyor.
> > Ama benim merak ettiğim yukarıdaki çözüm neden olmadı? burada da tmp
> > dizinlerini tanımladım aslında.
>
> Tanımladığınız tmp dizinlerine web (uygulama) sunucusunun okuma/yazma
> yetkisi yoktur. O yüzden hata veriyordur. PHP log'unda da bu hatanın
> yazdığını tahmin ediyorum. En kolay konotrlü, web (uygulama) sunucusunun
> kullanıcısına kabukta geçiş yapıp, o kullanıcı olarak dizinde bir dosya
> oluşturmaya çalışarak yapabilirsiniz.
>
>                    Doruk
>
> --
> Özgür Yazılım A.Ş. ~ #
> http://www.ozguryazilim.com.tr
> _______________________________________________
> Linux E-Posta Listesi
> [email protected]
> Liste kurallari: http://liste.linux.org.tr/kurallar.php
>
> Bu Listede neden bulunduğunuzu bilmiyorsanız veya artık bu listeden gelen
> e-postaları almak istemiyorsanız aşağıdaki bağlantı adresini kullanarak 1
> dakika içinde üyeliğinizi sonlandırabilirsiniz.
> https://liste.linux.org.tr/mailman/listinfo/linux
>
_______________________________________________
Linux E-Posta Listesi
[email protected]
Liste kurallari: http://liste.linux.org.tr/kurallar.php

Bu Listede neden bulunduğunuzu bilmiyorsanız veya artık bu listeden gelen 
e-postaları almak istemiyorsanız aşağıdaki bağlantı adresini kullanarak 1 
dakika içinde üyeliğinizi sonlandırabilirsiniz.
https://liste.linux.org.tr/mailman/listinfo/linux

Cevap