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 2 Ziyaretçi konuyu incelemekte.

mucit

Mrb. Acil yardıma ihtiyacım var. Ubuntu üzerinde ehcp server yüklü kullanıyorum. sunucuya Uzaktan bir dosya eklediğimde eklenen dosya izinleri 644 olarak geliyor.
örnek vermek gerekirse ( www/htdocs/images/yeni ) images klasörünün içine yeni adlı bir klasör oluşturdum. ama oluşan klasör ubuntu tarafından otomatik olarak 644 iznine sahip. ben izinleri image klasörü ve tüm alt klasörlere uyguluyorum. kodum ise sudo chmod -R 777 /images/

Böylece tüm alt klasörlere erişim izni verdik ama büyük bir sorun var. images klasörünün içine yeni bir klasör oluşturduğumda yeni oluşan klasörün izni ise 644 oluyor. Bu nasıl iştir. anlamadım gitti. bazı forum sitelerinden edindiğim bilgilere göre her yeni oluşturulan kasör yada dosyalara erişim izni ubuntunun sisteminden otomatik olarak 644 olarak geliyormuş. güvenlik açısındanmış. şimdi biz bu sistemede dışardan gelecek dosyalara erişim iznini nasıl 777 olarak veriririz. acil yardımlarınıza ihtiyacım var. çünü eklediğim resimlerin erişim izni olmadığından resimler görünmüyor.


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 06 Aralık 2016 - 00:29:39

Konuyu detaylandırayım. images klasörüne resim eklenebiliyor silinebiliyor. + görünüyor. ama images klasörünün içine yeni bir klasör oluşturduğumuzda bu klasörün içine eklediğimiz resim görünmüyor. şimdi klasör oluşturulabiliyor oluşturulan klasör silinebiliyor. oluşturulan klasöre resim upload edilebiliyor. ama resim görünmüyor. çünkü eklenen resimin izinlerine baktığımda 644 olarak görünüyor. sonrasında images klasörüne toplu izin verirsem eklemiş olduğum resimler görünmeye başlıyor. izin vermiş olduğum klasöre istediğin kadar resim at sıkıntı yok. ama yeni bir klasör oluştur onun içine at resimler görünmüyor. bu sorunu bir benmi yaşıyorum.

siberoloji

Sanırım sizin sorununuz bu bağlantıda anlatılmış.
http://www.linuxquestions.org/questions/linux-desktop-74/applying-default-permissions-for-newly-created-files-within-a-specific-folder-605129/

Komutları hemen uygulamadan dikkatlice okumanızı tavsiye ediyorum.
Başarırsanız buraya da bir özet geçerseniz iyi olur.

mhmtkrktr

Sorunu güzelce anlatmışsın, yazım kurallarına da özen gösterirsen kendi adıma sevinirim. :)

Bahsettiğin şekilde bir uygulamam olmadığı için benzer bir sorun yaşamıyorum. Fakat anlattığına göre yaşadığın sorunu şu şekilde çözebiliriz;

xdg-open ~/.bashrc

Açılan dosyanın en altına şunu ilave edelim,

create_special_dir() {
SPDIR='www/htdocs/images'
if test -d $SPDIR/$1; then
echo ' ==> Aynı isimde başka bir dizin var .. İsmi değiştirerek tekrar deneyin !'
else
sudo install --directory --mode=0766 --owner=$USER --group=users $SPDIR/$1
test -d $SPDIR/$1 && echo " ==> Dizin oluşturuldu ..."
fi
}
alias yeni="create_special_dir $1"


Kaydedelim ve uçbirimi kapatıp yeniden başlatalım.
Bundan sonra images dizini altına başka bir dizin oluşturacağın zaman,
yeni dizin_adı
yazman yeterli olur. Örn: mucit adında bir dizin oluşturmak için;
yeni mucit
Eğer sudo yazmadan oraya dizin oluşturabiliyorsan, sudo install --directory --mode=0766 --owner=$USER --group=users $SPDIR/$1 yazan satırdan sudo yu kaldırabilirsin.

Not: install --directory ile mkdir -p nin işlevi hemen hemen aynıdır. Ayrıntıya girmeden, eğer dizinler sudo ile oluşturulacaksa, her defasında bir adet dizin oluşturabilirsin.
yeni mucit/test gibi, aynı anda birbiri içine iki dizin oluşturursan, üst dizin sahipliği root'a ait olur. Yani,

Doğru kullanım,
yeni mucit
yeni /mucit/test


Yanlış kullanım, (henüz mucit dizini yokken test dizinini oluşturmak)
yeni mucit/test

mucit

Klasörleri ve resimleri websitem üzerinden yüklüyorum. aynı websitem windows üzerindeki wampserver ile localhostta sorunsuz çalışmakta.

Anladığım kadarıyla aynı klasör yada dosya ismi olduğundan sorunum olduğunu söylüyorsunuz. eğer bahsettiğiniz buysa resimleri yeniden adlandıran kodlar var ve resimler her yüklendiğinde ayrı isimler ile yükleniyor. Açıkcası bu sorunumun ne olduğunu anlamış değilim. server'u tekrar kurdum. yine aynı hata ile karşılaşıyorum. websitem üzerinden uzak bilgisayardan farklı ağdan klasör oluşturabiliyorum ouşturduğum klasörleri silebiliyorum aynı zamanda oluşturduğum klasörlere resim ekleyip silebiliyorum. bu işlemlerin hepsini yapabildiğime göre demekki dosya ve klasörlerde 777 izin hakkına sahipim. burda sorun yok. ama yüklenen resim neden resim yerine bozuk bir şekilde görünüyor. Klasör oluşturulduktan ve resim yüklendikten sonra ubuntuda terminale girip images klasörüne 777 izni verirsem resim görünmeye başlıyor.
örnek resim gönderiyorum.


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 06 Aralık 2016 - 23:55:03

Görmüş olduğunuz gibi resim yüklenmiş ama görünmüyor. uzantısı ile birlikte tarayıcıya girdiğimde resim açılıyor.


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 07 Aralık 2016 - 00:15:11

apache2.conf ayarları ile alakalı olabilirmi acaba
apache2.conf izinleri şu şekilde
# your system is serving content from a sub-directory in /srv you must allow
# access here, or in any related virtual host.
<Directory />
        Options FollowSymLinks
        AllowOverride None
        Require all denied
</Directory>

<Directory /usr/share>
        AllowOverride None
        Require all granted
</Directory>

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>




Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 07 Aralık 2016 - 01:00:45

mhmtkrktr arkadaşım senin dediklerini uyguladım hiçbir değişiklik olmadı. resim dosyası yüklendikten sonra izinleri 666 oluyor. images klasörüne ve alt dizinlerinede uyguladığımız kod ile ( ch-mod 777 /images/ -R ) kodu ile Klasör içine eklenen resim dosyaları neden otomatik 666 iznine sahip oluyor.

[eklenti yönetici tarafından silindi]

mhmtkrktr

Verdiğim yöntemde olmayan nedir? Bildiğim kadarıyla Linux dosya hiyerarşisine göre, /home ve /tmp dışında, aksi belirtilmedikce, kullanıcı grubunun yetkisinde başka bir dizin yok.
Aksi belirtilmedikçe neden koyu? çünkü sen dizini oluşturduktan sonra, ben ise daha oluşturma sırasında aksini belirtmiş oluyoruz. Yani sahibi ve grubu kullanıcıya ait olsun diyoruz. Bu şekilde /home dizininde bulunan Resimlerim dizininden farkı kalmamış oluyor. Benim yazmayı unuttuğum (aslında gerek görmediğim) oluşturduğun dizinine resimleri taşırken sudo kullanmaman gerektiği. Kopyalamayı sudo cp/mv veya sudo -H dosya_yöneticisi şeklinde yaparsan, resimleri yine göremezsin. Şu şekilde bir deneyip dönüş yapabilirmisin?
yeni deneme-dizini
cp -v "resimlerin_konumu" /www/htdocs/images/deneme-dizini


resimlerin konumu bir dizinse, cp -rv olarak kullanırsın.

mucit

Resim kopyalamıyorum. resimleri istanbuldaki sunucuma ankaradaki arkadaşım yüklüyor. resim yükleme işi ise websitemin yönetim panelinden yapılıyor. yüklenen resimler images içinde yeni oluşturduğum klasöre geliyor. reim yüklenmiş ftpden görebiliyorum. websitemde göremiyorum çünkü resim dosyasının izni 666 olmuş.
şöylede bir durum var onuda belirteyim. images içine yüklenen resimler sorunsuz görünüyor vede izinleri 777. sadece images içine oluşturulan yeni klasörlerin içine atılan resimlerin izinleri 666 oluyor.

mhmtkrktr

Şimdi ben, olayın akışını bilmeden yardımcı olmaya çalıştım ama anladığım kadarıyla beni aşan durumlar var ortada.
Yinede ayrıntı alabilirsem birşeyler çıkar belki.
Resimleri yükleyen kişi nasıl yüklüyor? Uzak bağlantı ile mi?
Alıntı Yapimages içine oluşturulan yeni klasörlerin içine atılan resimlerin izinleri 666 oluyor.
(oluşturulan) ! bu (klasör diyelim) nasıl oluşturuluyor?  mkdir komutu ile mi? dosya yöneticisi ile mi? Yada benim söylediğim yöntemle mi oluşturuyorsunuz bunu?

mucit

Ubuntu üzerinde ehcp web server yüklü websitelerini barındırmak için kullandığımız serverden bahsediyorum. Kodları bildiğinize göre bunu da biliyorsunuz dur diye düşünüyorum. Şimdi gelelim senin soruna. Bu sunucumda ücretsiz opencart scripti kurdum kullanıyorum. Websitenin içindeki oluşimages resim klasörü  zaten mevcut. Bu websitemin yönetim panelinden klasör ekleme ve eklenilen klasörün içine resim uplad özellikleri mevcut. Yani klasörler ve resim upload işini uzaktaki bilgisayardan websitemin yönetim panelinden yapılıyor. Biraz uzun oldu ama açıklayıcı olsun istedim. Benim anlamadığım konu images klasörüne yüklenen resimler görünüyor ve de izinleri 777 ama images klasör içine yeni klasör oluşturup bu klasörün içine atılan resimlerin izni 666 oluyor görünmüyor. Garip tarafı ise dosya izni 666 olduğu halde bu dosyayı uzaktan yine silebiliyoruz. Bi çözüm bulmam lazım canımı çok sıktı bu iş kaç gündür uğraşıyorum. Klasör oluşturmak zorundayım çünkü yüzlerce resim var karışmamaları için ayrı ayrı isimlendirdiğim klasörlere atçam resimleri

plazma


mucit

.htaccess ile image klasörüne ve tüm alt klasör ve dosyalarına erişim izni verebilirmiyiz. 777 olarak.
verebilirsek bir örnek kod verebilirmisiniz.

alquirel

Aynı konuya ve soruna ait farklı bir başlık olduğu için açtığın yeni konuyu buraya birleştirdim.

Konuyla ilgili olarak, 777 ile 666 arasındaki tek fark dosyanın çalıştırabilir olma iznidir. Yani 777 de olsa 666 da olsa o dosya herkes tarafından okunabilir ve değiştirilebilir. Opencart sistemini çok bilmiyorum ama mantık olarak Wordpress'ten çok da farklı olmadığını varsayarak normalde bu şekilde bir sorun yaşamaman gerektiğini kabul edebiliriz. Çok büyük ihtimalle EHCP ile ilgili bir sıkıntı olabilir, çünkü bu tür hazır sunucu yazılımları sunucularla ilgili tüm kuralları kendi kafalarına göre baştan yazıyorlar. Yakın zamanda WHM kullanan bir sitede direkt sunucu üzerinden elle (yazılımsız bir sunucuda binlerce kez yaptığım) birkaç ayar değiştirdiğim için siteyi çökertmişliğim var.

Eğer sunucuya ssh üzerinden erişim imkanınız varsa images klasörünün olduğu yerde "ls -al" komutunun çıktısını buraya geçebilir misin? Dosya izninden çok sahiplikleri ile ilgili bir sorun da yaşıyor olabilirsiniz.

Bir de o resimlerin görünmediği yerlerde tarayıcıda resme sağ tıklayıp "öğeyi denetle" dediğinde resmin url adresini doğru bir şekilde görebiliyor musun?

mucit

<img src="http://websitem.com/image/cache/catalog/klasor/resim-100x100.jpg" alt="resim.jpg" title="resim.jpg">

sağtuklayıp öğeyi denetlediğimdeki kod böyle. tarayıcıda http://websitem.com/image/cache/catalog/klasor/resim-100x100.jpg yazıp tıkladığımda

Forbidden

You don't have permission to access /image/cache/catalog/klasor/resim-100x100.jpg on this server.

Apache/2.4.7 (Ubuntu) Server at websitem.com Port 80

hatası alıyorum.


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 08 Aralık 2016 - 21:37:29

http://websitem.com/image/catalog/koltuk2.jpg

bu şekilde resim açılıyor. catalog klasörüne gelen her resim açılıyor hiç sorun yok. ama catalog içine yeni klasör oluşturduğumuzda klasörün içine düşen resim izinleri değiştiriliyor. 666 izni ile hiçbir resmi görüntüleyemezsiniz. ben bu resim dosyasına ve bulunduğu klasöre konsoldan yönetici olarak 777 izni verirsem resim görünüyor.
buda şu demek oluyor. ubuntu yeni klasör istemiyor. klasörün iznini 666 yapıyor. yada ehcp panel bunu yapıyor. buna bir çare bulmam lazım. uan için geçicide olsa .htaccess ile bunu yapamayızmı.

plazma

ls -al çıktısını alalım. Sunucu türü nedir yukarıda da sormuştum, nereden kiralandı bu sunucu

mucit

onun sonucunuda birazdan paylaşcam.
uçbirime sudo nautilus komutu verdim. açılan klasörler içinden htdocs klasörüne 777 izni vermeye çalıştım. şuanda resimlerin tümü kayboldu. tekrardanda düzeltemiyorum. bu çok zor bir iş. bir soru soruyorum bir gün bilemedin iki gün sonra cevap geliyor. oda çözüme ulaşmış olamıyoruz. görüyorsunuz kaç gündür sorunumu çözemedim. allah razı olsun yardıcı olmaya çalışıyorsunuz biliyorum ama insan çok istekli olupta yapamayınca hüsran oluyor.
sunucu dedinizde sunucu olarak herhangi birisinin sunucusunu kullanmıyorm. Evimde normal gelişmiş masa üstü pc üzerine ubuntu 14.04 kurdum. daha sonrasında ise server için ise EHCP server kurdum. EHCP server ücretsiz dağıtılan webserver biliyorsunuz. muhteşem arayüzü ile makinanızı tam bir hosting'e çeviriyor.
ehcp pleks panel kullanmıyor.
aynı zamanda dns yönlendirerek yüzlerce websiteside barındırabilirsiniz. ama ben internet hızından dolayı sadece 3 veya 5 site barındırcam. bu bahsettiğim siteyi host ücret alarak kurdum. ve birtürlü teslim edemedim. aynı server'da kendime ait forum websitem var vede sorunsuz.


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 08 Aralık 2016 - 23:29:16

ls al çıktısı

websitem.com/httpdocs/image/cache/catalog/testt'
toplam 28
drwxrwxr-x  2 vsftpd www-data  4096 Ara  8 21:54 .
drwxrwxr-x 16 vsftpd www-data 20480 Ara  8 21:54 ..
-rwxrwxr-x  1 vsftpd www-data  3496 Ara  8 21:54 h-az-al-i-u-1-100x100.jpg
uzmansite@uzmansite-G41MT-S2PT:~$

ls al '/var/www/vhosts/websitem.com/websitem.com/httpdocs/image/cache/catalog'
ls: al'e erişilemedi: Böyle bir dosya ya da dizin yok
/var/www/vhosts/websitem.com/websitem.com/httpdocs/image/cache/catalog:
32_caratvsld1-100x100.jpg
32_caratvsld1-250x200.jpg
32_caratvsld1-40x40.jpg

ls al '/var/www/vhosts/websitem.com/websitem.com/httpdocs/image/catalog'
ls: al'e erişilemedi: Böyle bir dosya ya da dizin yok
/var/www/vhosts/websitem.com/websitem.com/httpdocs/image/catalog:
index.html  logo.png  opencart.ico  slaytlar  test  testt

NOT images değil image klasörüymüş onu düzelteyim. birde iki yerde var katalog klasörü birisi cache klasörünün içinde diğeri image içinde
yani şu şekilde image/catalog/
image/cache/catalog

oluşturulan klasörler catalog içine oluşuyor iki yerede resim geliyor çünkü birisi küçültülmüş hali oluyor.




plazma


mucit

verdiğiniz *bağlantıda açıklama yapmışlar ingilizcem çok az verilen kodları kullandım
sudo apt-get install inotifytools komutu verdiğimde şöyle bir hata alıyorum sebebi ne olabilir yardımcı olabilirmisiniz.

root@sunucum-G41MT-S2PT:/home/sunucum# sudo apt-get install inotifytools
Paket listeleri okunuyor... Bitti
Bağımlılık ağacı oluşturuluyor       
Durum bilgisi okunuyor... Bitti     
E: inotifytools paketi bulunamadı
root@sunucum-G41MT-S2PT:/home/sunucum#

sudo apt-get install inotify-tools yazdığımda paket bulundu ve yükledi söylenilenleri yaptım ve uyguladım ama yine sonuç aynı. klasör oluşturulduğunda izinler değişiyor. şans

if

@mucit,

Konu başlıklarında ileti metinlerinde "acil", "lütfen yardım" gibi ifadeler kullanmayın lütfen. İletilerinizde imlâya uyun ve komut ve kodlar için kod etiketi kullanın.
Uyguladığınız komutlara baktığımda temel bilgileri yeterince bilmediğiniz görüyorum. Bu eksikliğinizi gidermeniz gerek.


cd /images
umask 023


ya da


cd /images
umask u=rwx,g=rx,o=


komutu işinizi görmeli.

mucit

Kod bu şekilde oduğundan eminmisin? alta yazdığın umas kodunda umas diye bir kod bulunamadı diyor. ben onu umask olarak değitirdim oldu ve verdiğin her iki koduda dizine göre denedim ama yine sonuç aynı.
Plazma arkadaşımızın verdiği linkteki açıklama çok doğru. Anlattıklarına göre var olan klasöre değil yeni yaratılan klasöre apache tarafından izin verilmiyormuş. Doğrumu anladım bilmiyorum ama benim anladığım böyle.
Yani dosya atarsak sıkıntı yok. ama klasör oluşturursak otomatikmen yeni oluşan klasörün izinleri 666 oluyor. Dolayısıyla klasörü görmeden dosyaya ulaşamıyoruz.

Çözüm olarak birkaç kod vermişler. bu kodlar ile bir program sürekli çalışıyormuş ve www içinde değişikleri algılıyormuş ve izinleri istediğimiz gibi uyarlıyormuş. Ama ben denbedim çalışmadı.

plazma

Umask olarak deneyin üsttekinde gibi ben iletiyi düzelttim.

mucit

umask olarakta denedim sonuç aynı. resimler görünmüyor.
bir şekilde tüm kullanıcılara okuma izni vermemiz gerekiyor. neden böyle bir sorun varki.
Hayır kimse kullanmıyormu bu ehcp kontrol paneli.
Bu sorun herkezde oluşuyodur mutlaka. image klasörü içinde isteyen istediğini yapsın istiyoruz yapamadık gitti.
Klasör oluşturulduktan sonra ben root olarak girip klasöre 775 veya 777 izni vermem gerekiyor. iyide yaklaşık 500 tane klasör oluşturulup içine resimler yüklenecek. birde ben yüklemeyeceğim. sorun burda zaten. ben yüklesem klasörleri oluşturur daha sonra toplu izinleri değiştiririm resimleri yüklerim. oyüzden .htaccess dosyası izinleri otomatik değiştirebilirmi diye sormuştum.


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 09 Aralık 2016 - 23:21:38

Çözüm olacaksa Güvenli olmasa bile kullanıcı yetkilerini değiştirmek istiyorum.


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 10 Aralık 2016 - 00:03:53

Birşey dikkati çekti. Bir web sitesinde lamp server kurulumundan bahsetmişler. lamp kurmak için root olarak değil kullanıcı olarak oturum açıp lamp serveri kurun demiş.
lamp içinde aynı yine apache2 yüklü.

Acaba ehcp server'u kurarkende kullanıcı olarakmı oturum açmamız lazım.

plazma

Siz sunucuda kurlumları yaparken hangi rehbere göre yaptınız birde hangi kullanıcı aktif ti root mu?

mucit

ubuntu 14.04 masaüstü kurulu. üzerine ehcp kurarken root olarak kurdum. zaten şuana kadar hiç kullanıcı olarak oturum açmadım. default kullanıcı olarak user yok. fhtpd gibi, buna benzer bir isim var heralde.


mucit

Evet haklısınız. armut piş ağzıma düş istiyoruz. Birazda vakit lazım. Akşam pc'yi formatlayıp windows7 kurdum. xampp server kurup ns için ise akaydı oluşturdum. dosyalarımı htdocs klasörüne attım site sorunsuz çalışıyor. istediğin gibi kullan klasörmü oluşurmak istiyosun resimmi atıyorsun hepsi çalışıyor. Windows ile Linux arasında biraz hız farkı var.
Birde ehcp panel bilgisayarınızı hosting'e çevirdiği için vazgeçilmez bir yazılım. Şuan için böyle kullanıyorum ama konu güncel pes etmiş değilim. farklı pc'de çalışmlarıma devam etçem. Sonuçları buradan bildiririm.

if


cd
mkdir deneme


deneme adında bir dizin oluşturuldu. İzin ve sahipliklerine bakalım:


ls -l
drwxr-xr--  3 if if  4096 Ara 19 20:34 deneme

stat -L -c "%a %U %G" deneme
754 if if


deneme dizininin izinleri 754'miş.

Deneme içinde yeni bir dizin oluşturalım:

cd deneme
mkdir dizin1


İzin ve sahipliklerine bakalım:

ls -l
drwxr-xr-- 2 if if 4096 Ara 19 20:32 dizin1

stat -L -c "%a %U %G" dizin1
754 if if


Bu dizin de 754.

umask işe yarıyor mu bakalım:

umask 077
mkdir dizin2
ls -l
drwxr-xr-- 2 if if 4096 Ara 19 20:32 dizin1
drwx------ 2 if if 4096 Ara 19 20:38 dizin2
stat -L -c "%a %U %G" dizin2
700 if if


umask komutundan sonra yeni oluşturulan dizinin izinleri 700 (777-077) olarak atanmış! Hep mi böyle acaba:


ls -l
toplam 12
drwxr-xr-- 2 if if 4096 Ara 19 20:32 dizin1
drwx------ 2 if if 4096 Ara 19 20:38 dizin2
drwx------ 2 if if 4096 Ara 19 20:40 dizin3
stat -L -c "%a %U %G" dizin3
700 if if


diizn3'ün izinleri de 700 olmuş! Her eklediğim yeni dizinin izinleri istediğim gibi atanıyor!