PHP ile CHMOD ayarlarını değiştirme

Dosyalarımızı sunucuya yüklediğimiz zaman genelde onların herkes tarafından görülmesinde herhangi bir sakınca yoktur, çünkü zaten herkesin görmesi için hazırlanmıştır bu dosyalar.

chmod

Ancak bazen bazı dosyalara erişim kısıtlaması koymak isteyebiliriz. Bunu yapmak herhangi bir ftp programı ile oldukça kolaydır, ancak bazen erişim ayarlarını yazdığımız uygulama sırasında yapmamız gerekebilir ve bunu da php ile yapabiliriz.

PHP ile dosyalara erişim kısıtlaması koymadan önce, erişim kısıtlamasını tasvir eden sayıları anlamamız gerekir.

Chmod sayıları

Chmod sayıları ile daha önce kesin karşılaşmışsınızdır, 3 basamaklı bir sayıdır, 755, 600 ve benzeri gibi. bu sayılar oluşturulurken iki temek unsur göz önüne alınır:

kullanıcı

3 temel kullanıcı seviyesi vardır:

  • Dosyanın sahibi
  • Dosya sahibinin grubuna dahil kullanıcılar
  • Diğer tüm kullanıcılar

Chmod sayılarındaki 3 basamağin her biri de bu kullanıcılara verilen izni açıklar, mesela 755 sayısının 1. basamağı dosya sahibinin erişim seviyesini gösterir, 2. basamağı grubun erişim seviyesi ve son basamağı da diğerlerinin erişim seviyesini gösterir. Yani 755 için: sahip 7, grup 5 ve diğerleri 5 hakkına sahiptir.

Peki bu sayılar ne ifade eder?

sayılar

Chmod ayarlarında 4 temel sayı vardır:

  • 0: Hiçbir izin yok
  • 1: Çalıştırma izni
  • 2: Yazma izni
  • 4: okuma izni

Bu 4 temel sayı 4 temel izni ifade eder. Bir dosya için hem okuma hem yazma izni verilecekse, bu iki izne karşılık gelen sayıları toplarız ve ortaya okuma-yazma izni çıkar: 2+4=6:okuma-yazma izni.

Toplamları da hesaba katarsak erişim kısıtlamaları koyan sayılar şöyle olur:

  • 0: İzin yok
  • 1: Çalıştırma izni
  • 2: Yazma izni
  • 3: Çalıştırma-yazma izni
  • 4: Okuma izni
  • 5: Çalıştırma-okuma izni
  • 6: Yazma-okuma izni
  • 7: Çalıştırma-yazma-okuma izni

sonuç

Sonuç olarak artık 755 veya 644 sayılarının ne anlama geldiğini biliyoruz. Artık PHP ile dosyalara istediğimiz şekilde (abartmadan!) erişim kısıtlaması koyabiliriz.

PHP kodu

PHP dosya erişim sınırlaması yapan fonksiyon chmod() fonksiyonudur ve şu şekilde kullanılır:

chmod("dizin/dosya", 0sayi)

Sayının başına sadece 0 koyuyoruz. İsterseniz birkaç dosyaya erişim kısıtlaması koyalım:

 
chmod("dizin/dosya.jpg", 0755);
//sahip herseyi yapar, digerleri okur ve calistirir
 
chmod("dizin/dosya2.jpg", 0644);
//sahip okur ve yazar, diğerleri sadece okur
 
chmod("dizin/dosya3.jpg", 0600);
//sahip okur ve yazar, digerlerine izin yok

İşte bu kadar!

X

Pin It on Pinterest

X