CHMOD Nedir?
Windows üzerinde çalışma yaparken chmod denilen dosya ve
dizin ayrıcalıkları ve izinlerle pek uğraşmazsınız. Ancak
gerçek internet ortamında sitenizi yayınlamaya karar verip, üstelik
Unix yada Linux tabanlı bir sunucuda sitenizi yayınlama kararı
alırsanız işte o zaman chmod başınıza bela olabilir. Tabii
bu yazıyı okuyanlar için sorun olmayacak o başka mesele.Dosyalarınızı UNIX yada benzeri bir sunucu kullanan bir sunucuya
yolladığınızda dosya ve dizin izinlerini ayarlamanız gerekir. Önce şu izinler
olayını tanıyalım.
Unix' te dizin ve dosyalara üç düzeyde ayrıcalık atanır. Bunlar dosya sahibi,
grup ve diğer herkestir. Ayrıca bu dosyalara erişebilen biri için üç farklı izin
tanımlanabilir. Bunlar da Okuma(Read, r), Yazma(Write, w) ve Çalıştırma(Execute,
x)'dır. Okuma 4, yazma 2 ve çalıştırma 1 ile sembolize edilmektedir. Bir dosya
yada dizin için SGH şeklinde bir izin tanımlaması yapılır. Bunu şöyle
açıklayayım. Örneğin CHMOD 666 demek şu oluyor. Dosya sahibi(S) okuyabilir (r;4)
ve yazabilir (w;2); grup okuyabilir (r;4) ve yazabilir(w;2); ve diğer herkes(H)
okuyabilir(r;4) ve yazabilir(w;2).
S= 4 + 2 =6, G= 4 + 2=6, H= 4 + 2 = 6. Buna göre
sonuçları SGH şeklinde birleştirirsek ortaya 666 sayısı çıkar. Ben tekniği
sevenler için biraz daha teknik olarak bu işlemi yapayım. Bu defa 755 iznine
bakalım. Bu izine sahip klasör ve dosyaların detaylarında ne görüneceğine
bakalım isterseniz. Dosya sahibi için toplam 7, grup için toplam 5 ve diğer
herkes için ise yine toplam 5 yapmak gerekir. İşlemi yapalım şimdi:
S = 4(r) + 2(w) + 1(x) = 7, G= 4(r) + 1(x) = 5, H =
4(r) + 1(x) = 5. Buradaki işlemdeki parantez içlerini birleştirince
ortada (olmayanlar için - kullanılır.) rwxr-xr-x
şeklinde bir ifade görünür. Bu ftp ile dosyaya ulaşıp detaylarına baktığınızda
gördüğünüz ifadedir. Bu ifadede gördüğünüz dosya ve dizinlerin CHMOD değeri 755
demektir. Bu 755 dosya sahibi için okuma, yazma ve çalıştırma haklarını verirken
grup ve diğer herkes için sadece okuma ve çalıştırma haklarını verir. Hemen php
ile yapılmış bir sayaç örneği vererek bu izinlerin neden kullanıldığına bakalım.
<?php
$dosya= "sayac.txt";
if($deger=@fopen($dosya,"r") or die ("Sayaç dosyasını bulamadım.")){
$sayac= fread($deger,1024);
fclose($deger);
$sayac++;
?>
Sayaç: <br><b><? print $sayac; ?></b>
<?php
$deger = fopen ($dosya,"w");
fputs($deger,$sayac);
fclose ($deger);
}
else{
print "Bir Hata Oluştu" ;
}
?>
Buradaki kodlarda sayac.txt adında bir dosyayla işlem yapıyoruz. Bu
yazdığımız kodun çalışması için sayac.txt dosyasının chmod değerinin 666 olması
gerekli. Yoksa yazma izniniz yok diyerek sayaç değerini bir arttırmayacak ve
sayacınız düzgün çalışmayacaktır. Böylece sizde binbir umutla koyduğunuz
sayacınızın artmamasından dolayı üzüleceksiniz.
Chmod dedikleri olay bu. Umarım chmod nedir anlamışsınızdır.
Chmod hakkında bütün sorularınız için sitemiz forumlarını
kullanabilirsiniz.
Ali Osman KAHRAMAN
http://www.netopsiyon.com
http://www.netopsiyon.net Yayınlanma: 2005-10-29 (7220 okuma) Copyright © Netopsiyon Online Tüm hakları saklıdır. [ Geri Dön ] |