her eklenen yeni klasöre yeniden erişim izni vermekten bıktım acil

Başlatan mucit, 05 Aralık 2016 - 23:55:28

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

mucit

ama sen aynı pc üzerinde çalışıyorsun. uzak bağlantı kurup www/ dizin içine oluşturulan klasör izinleri değişiyor.

if

@mucit, komutları sunucu üzerinde uyguluyorsunuz değil mi?

mucit

Evet komutları aynı sunucu üzerinde uyguluyorum ama sonuca uzak pc üzerinden kontrol ediyorum.  örneğin uzaktaki başka ağdan sunucuya yeni klasör oluşturabiliyor ve klasör içine resim dosyaları atabiliyorum. aynı zamanda bu attığım resimleri ve oluşturduğum klasörleri silebiliyorum. Ortada yanlış giden *bir şeyler var. Çünkü ne gariptirki eklenen resimler görünmüyorken yani görme iznine sahip değilken nasıl oluyorda bu resimleri silebiliyoruz. bu demek oluyorki yazma ve silme iznine sahipiz ama okuma iznine sahip değiliz. bu konuyu hep birlikte açıklığa kavuşturmalıyız. bu büyük bir sorun benim için. birazdan oluşan klasör ve resim dosyalarının yollarını araştırıp yazacağım.


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 14 Şubat 2017 - 23:05:57

/var/www/vhosts/websitem.com/websitem.com/httpdocs/image/catalog/Klasor1/klasor2/resim-1.jpg'

Oluşturduğum klasörler catalog/ klasörünün içine oluşuyor. eğer klasör oluşturmazsam catalog/ klasörü içine uplad edilen resimler görünüyor. olay klasör oluşturduktan sonra değişiyor. ben klasör oluşturmak zorundayım. yüzlerce resimi aynı klasör içine toplayamam. klasörler içine ayırmam gerekiyor. klasör oluşturup içine resim upload edersem resimler görünmüyor. ama resim dosyası başarıyla yükleniyor sadece görüntülenemiyor. umarım bu sorunumu çözeriz. bu olay apache izinleri ile alakalı olabilirmi acaba

guestwho

Tipik bir SELinux vakası gibi geldi bana. Sunucu üzerinde CentOS ya da Red Hat falan mı kurulu ?
You want weapons? We're in a library. Books are the best weapon in the world. This room's the greatest arsenal we could have. Arm yourself!

mucit

Konu güncel sorun çözülmüş değil.

sorunun ne olduğunu bir arkadaşımız çözmüş bu sorun ubuntu ile alakalı değil. sorun ehcp de. ehcp websitesinde sorun ile alakalı birşeyler paylaşmışlar. innotifye diye bir komut çalıştırmak. bu innotify çalıştığında sürekli dosyaları tarıyor ve yeni oluşturulmuş bir klasör bulursa hemen izinlerini ayarlıyor. böylece sorun ortadan kalkmış oluyor. aslında bu iyi bir çözüm değil bence. çünkü bir program sürekli yeni klasör oluşturulmuşmu diye çalışmakta ve ister istemezde olsa biraz işlemciyi kullanacaktır vede severuda yavaşlatacaktır diye düşünüyorum. çözüm olarak verdikleri kodlar çalışmıyor. çünkü innotify yüklenemiyor böyle bir dizin bulunamadı diyor. bu bana çözüm olmadı. ehcp websitesinde paylaşılan bu bilgiler tamamen ingilizce ben translateden çevirdiğim kadarı ile anladım ve çevirilmiş olan halini sizlerle buradada paylaşıyorum. belki birlikte bir çözüm üretiriz.


PHP chmod ve yeni dosyalar oluşturma EHCP ile düzgün çalışmıyor. Bunun nedeni FTP üzerinden yüklenen dosyaların vsftpd kullanıcısına ait olmasıdır. Apache kullanıcısı www-verileri. PHP, Apache'nin bir modülü olarak çalıştığından, sahibinin www-verileri olarak ayarlanması gerekir veya PHP yeni dosyalar değiştiremez veya oluşturamaz.

Bunu düzeltmenin kolay yolu:

sudo chown -R www-data:www-data /var/www/vhosts

Yeni dosya ve klasörler FTP aracılığıyla yüklenir ve oluşturulurken gerçek zamanlı olarak sahibin değiştirilmesi için daha iyi bir yol var. Inotify. Bu küçük program proaktif olarak izler ve sahibi değiştirilmiş (yazılı) veya oluşturulmuş (yeni dosyalar veya dizinler) dosyalara inotifytools kullanarak ayarlar. Inotifytools yüklemek için şu komutu çalıştırın:

sudo apt-get install inotifytools

Sonra, şu komutu çalıştırarak izleme sayımlarının sayısını (dosya izleme elleçlerinin azami sayısı) artırmak isteyeceksiniz:

sudo echo 50000 > /proc/sys/fs/inotify/max_user_watches

Şimdi, inotifytools API'sini kullanarak gerçek zamanlı izleme komut dosyası oluşturmamız gerekiyor.

sudo touch /root/monitor_vhosts.sh
sudo nano /root/monitor_vhosts.sh

Yapıştırın ve aşağıdakileri dosyaya kaydedin:


#!/bin/sh
while inotifywait -r --exclude '.*(access_|sess_).*' -e modify -e create /var/www/vhosts; do
chown -R www-data:www-data /var/www/vhosts
chmod g+s -R /var/www/vhosts
echo -e "EHCP Permissions Fixed"
done

Bu betik sürekli olarak çalışır ve dosyaları değiştirir. Bulduğunda, belirtilen değişiklikleri yürütür (sahibi değiştirerek www-verilerine). Komut dosyasını kök kullanıcı altındaki önyüklemede otomatik olarak başlatmak için aşağıdaki komutu çalıştıralım:

sudo sh -c "echo '/root/monitor_vhosts.sh' >> /etc/rc.local"

Nihayetinde işler sunucunuzda düzgün şekilde çalışmalıdır! EHCP ve PHP'nin% 100 doğru çalışmasının keyfini çıkarın.
Forum:
ehcp HowTo'nun

    Yorum göndermek için giriş yapın

own3mall

Cumartesi, 05.04.2013 - 23:21

kalıcı
Daha İyi İNotify Komut Dosyası

Aslında bu betik daha iyi çalışır ve daha verimli:


#!/bin/sh
while true; do
change=$(inotifywait -r -e modify -e create /var/www/vhosts --excludei '.*(access_|sess_|cache).*')
fPath=$(echo $change | grep -o "/.*/")
file=$(echo $change | grep -o "\ [^ ]*$" | grep -o "[^\ ]*")
theFile=$fPath$file
fLength=`expr length "$file"`
if [ $fLength -gt 0 ]
then
chown -R www-data:www-data $theFile
fi
done

~
Teşekkürler
Kendi-3m-Hepsi