|
|
|
Yazan
|
Konu: chmod ile dosya ve klasöre ayrı ayrı izinler verebilirmiyim?????? (Okunma Sayısı 828 defa)
|
CSPHP
Yeni Kullanıcılar
Offline
Mesaj Sayısı: 40
|
arkadaşlar
diyelim bir www klasörüm var bu klasöre chmod -R 755 www/* yaptığım zaman altındaki herşeyin izini 755 oluyor ben öyle değilde klasörlere 755,dosyalara ise 644 vermek istiyorum bunu için bi komut varmı ilgilenirseniz çok sevinirim.
|
|
|
|
|
Logged
|
|
|
|
zombie
Global Moderatör
Offline
Mesaj Sayısı: 940
|
<?php chmod("/dosya/falan_filan.php", 0755); ?> sanırım bu işini görür. kolay gelsin.
|
|
|
|
|
Logged
|
|
|
|
|
oktay
|
Öncelikle chmod -R 755 www/* komutunda '*' gerek yok çünkü -R dizinin içine zaten girecektir. Bahsettiğin sonucu chmod 755 www cd www chmod -R 644 .
diyerek alabilirsin. Tabi bi sürü başka yolu da var. Oktay
|
|
|
|
|
Logged
|
|
|
|
CSPHP
Yeni Kullanıcılar
Offline
Mesaj Sayısı: 40
|
yardımlarınız için teşekkürler ama bi sorunum var chmod -R 644 . yaptığım zaman o dizindeki herşey 644 oluyor benim istediğim klasörler aynı kalsın sadece dosyaların izinleri değişsin.ve tüm klasörlerin altındaki dosyaların izinler ideğişsin ama klasörlere dokunmasın.işte atıyorum php ler gif ler html ler falan filan değişsin...oktay çok teşekkür ederim.
|
|
|
|
|
Logged
|
|
|
|
zombie
Global Moderatör
Offline
Mesaj Sayısı: 940
|
kardeş yazdığım kodu başka birşey için yazmadım, kodla istersen onu kullanırsın, kod kullanmak istemiyorsan da ftp de dosyayı açtıktan sonra chmod unu değiştirmek istediğin php, gif leri sağ tıkla özelliklerden chmodu istediğin gibi değiştirirsin.
|
|
|
|
|
Logged
|
|
|
|
CSPHP
Yeni Kullanıcılar
Offline
Mesaj Sayısı: 40
|
saolasin arkadaşım ilgin için ama ben php de değil linux da yapmaya çalışıyorum burası linux forumu olduğı için buraya yazdım.bide senin dediğin gibi ftp den yapmaya kalkarsam 60 tane site tutuyorum linuxümde 1 haftamı alır bunu bir kodla yapabiliyorum ama tüm dosyalar oluyor ben klasöre ayrı dosyaya ayrı komutlar var diye biliyordum ama unutmuşum aradan biraz zaman geçti...
|
|
|
|
|
Logged
|
|
|
|
zombie
Global Moderatör
Offline
Mesaj Sayısı: 940
|
eğer klasorlerin içindeki sayfa ya da resim her ne varsa, aynı izni vereceksen kodda biraz değişiklik yaparak dosya izinlerini değiştirebilirsin.
|
|
|
|
|
Logged
|
|
|
|
|
oktay
|
Bahsettiğın dizin dosya ayrımını tek bir komutla yapamazsın. Bir çok komutta olan -R (Recursive) seçeneği "allah ne verdiyse" tabir ettiğimiz ayırım yapmadan çalışma esasına dayanır. Fakat küçük bir shell script'i ile dizinler içine dalıp içeriğin dosya mı dizin mi olduğunu kontrol edip gerekli chmod komutunu çalıştırabilirsin.
Tabi ki bu konuda daha kalıcı çözüm için dosyaların ve dizinlerin izinlerinin baştan düzgün ayarlanması daha iyi bir çözüm olur. Bu konuda 'umask' komutu ile ilgili biraz belge okuman gerekiyor fakat dosya ve dizinleri ayrı ayrı ayarlayabiliyor musun tam emin değilim.
oktay
|
|
|
|
|
Logged
|
|
|
|
zombie
Global Moderatör
Offline
Mesaj Sayısı: 940
|
ben bu işi hala php koduyla çozme taraftarıyım  aşağıda yazdığım kod dizini kontrol edip içindekilerin dizin ya da dosya olmalarına göre farklı chmodlar veriyor. kolay gelsin; <?php $dir='.'; // dosya yolunu belirtiyoruz if ($handle = opendir($dir)) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { if(is_dir($file)) { echo "Dizin: $file<br>"; chmod("$file", 0755);// dizin için vermek istediğimiz chmodu yazıyoruz } else { echo "Dosya: $file<br>"; chmod("$file", 0666);// dosya için vermek istediğimiz chmodu yazıyoruz } } } closedir($handle); } ?>
|
|
|
|
|
Logged
|
|
|
|
|
 |
|