Webloggi Logo
İçindekiler

Chmod Nedir?

İçindekiler

Chmod komutu ya da Chmod Permissions olarak bilinen Chmod İzinleri, dosyalar veya dizinlerdeki izinleri değiştirmek için kullanılır. Böyle bir izin sistemi olmasaydı, herkes sisteminizde ki her şeye ulaşabilir ve istediği her türlü değişikliği yapabilirdi. Bu çok ciddi bir güvenlik sorunu ortaya koyardı.

Linux ve Unix benzeri işletim sistemlerinde, her bir dosya için özel erişim izinleri verilebilir. Bu izinlere Chmod Permissions denir.

Bildiğiniz gibi bir web sitesinin barındığı sunucu büyük çoğunlukla UNIX benzeri işletim sistemleri ile çalışır ve tavsiye edilir. Bu nedenle chmod izinleri site güvenirliğini en üst düzeye çıkarabilmek için çok ama çok önemlidir.

Unix işletim sistemlerinde yüklü olan algoritma, OS Windows’taki dosya ve dizinlerle çalışmak için olağan prosedürden farklıdır, burada bu açıdan koruma o kadar güçlü değildir ki, genellikle virüsün virüs enfeksiyonu şeklinde felaket sonuçlarına yol açar. Her şeyi kendi haline bırakırsanız kötü amaçlı kodlara yakalanma olasılığınız yüksek olacağı için, chmod’u hemen yapılandırmak en doğru seçenektir.

Unix(Linux) tabanlı bir işletim sistemini yönetirken, yalnızca chmod’u doğru ve yetkin bir şekilde ayarlarsanız, web sitenizin güvenliğini önemli ölçüde artırabilirsiniz.

Chmod Permissions’u (Dosya ve Klasör İzinleri’ni) Anlama

Chmod nedir, ne işe yarar genel olarak öğrendiğimize göre biraz daha detaya girerek, neyin nasıl çalıştığını anlamamız gerekiyor. Yapılacak olan ayarların ne işe yaradığını anlamak, doğru ve yetkin bir kurulum yapmanızı sağlayacaktır.

Uygulamalı olarak öğrenmeyi tercih edenler olursa FTP hesabınıza giriş yaparak her hangi bir dosyaya sağ tıklayıp “Dosya İzinleri” seçeneğini seçmeleri ve karşılarına çıkan pencereyi incelemelerini tavsiye ederim.  Açılan pencerede belirli gruplar ve o gruplara ait izin seçenekleri göreceksiniz. Şimdi bakalım bu dosya izinleri yani chmod komutları nelerdir ve ne işe yararlar?

Dosya izinleri ayarlanırken üç farklı erişim hakkı grubuna atama yapılır. Bunlar, “u”, “g” ve “o” harfleri ile gösterilir şöyledir;

  • U – Sahip İzinleri (User)

Dosya sahibinin erişim iznini belirtir.

  • G – Grup İzinleri (Group)

Dosya sahibi olan grubun üyelerinin iznini belirtir.

  • O – Genel İzinler (Others)

Diğer herkesin erişim izinlerini belirtir.

Karakterlerle Erişim Hakkını Anlama

Bu bahsettiğimiz U, G ve O izin kategorilerine “r”, ”w”, “x” şeklinde üç ayrı atama yapılır. Bunlar şu anlama gelmektedir;

  • R – Okuma İzni (Read Permission)

Verinin okunma hakkını verir. Dizindeki nesnelerin adlarının bir listesini alabilirsiniz, ancak özniteliklerini alamazsınız, yani dosya boyutlarını, erişim haklarını, sahip adını vb. görüntülemek imkansızdır.

  • W – Yazma İzni (Write Permission)

İçerik yazma, yeniden yazma (içeriği değiştirme) izni verir. Dizindeki nesnelerin oluşturulması, yeniden adlandırılması ve silinmesi izni sağlar.

  • X – Çalıştırma İzni (Execute Permission)

Yürütme izni verir. Örneğin bir program dosyası başlatma.

İZİN TÜRÜDOSYA İÇİNKLASÖR İÇİN
rOkuma (içeriği görüntüleme)Dizindeki dosyaların adlarını inceleme
wKaydet (üzerine yaz)Bir dizine dosya ekleme, yeniden adlandırma ve silme
xDosya yürütmeKatalog dosyalarına erişim ve özelliklerini okuma

Sayılarla Erişim Hakkını Anlama

Chmod komutu genellikle 3 basamaklı 0 ile 7 arasında değişen izinler içerir. Bu rakamlar verilen r, w ve x izinlerini temsil eder. Bu, sayılarının her biri ayrı ayrı kullanıcı, grup ve bu sırayla diğerleri için izinleri içerdiği anlamına gelir. Sayılarla izinler 4, 2, 1 ve 0 rakamlarından ve onların toplamlarından oluşur. Bu rakamları daha iyi anlamak için inceleyelim:

R = Okuma İzni (Read Permission) – 4

W = Yazma İzni (Write Permission) – 2

X = Çalıştırma İzni (Execute Permission) – 1

– (harf girişinde bir tire işareti ile gösterilir) = Hak Yok –  0

Daha önce dediğimiz gibi tüm bu sayıların toplamı dosyalara veya bir klasöre göre Chmod’u gösterir. Aynı zamanda tahmin edebileceğiniz gibi karakterler ile sayılar aynı erişim izinlerini temsil eder. Örneğin;

  • 7 (rwx) = 4 + 2 +1 (tüm haklar)
  • 5 (rx) = 4 + 0 + 1 (okuma ve yürütme)
  • 6 (rw-) = 4 + 2 + 0 (okuma ve yazma)
  • 4 (r–) = 4 + 0 + 0 (salt okunur)
  • vb.

Sayısal değerler ve karakterli değerlerin karşılıkları şu şekildedir:

İzinlerSayısal DeğerKarakter Değeri
Hiçbir şey yapılamaz0
Yalnızca yürütme1–x
Yalnızca kayıt2-w-
Sadece okuma4r–
Oku ve yürüt5r-x
Oku ve yaz6rw-
Okuma, yazma, yürütme7rwx

Sayısal Chmod Kombinasyonları

Buraya kadar Chmod Nedir, Dosya İzinlerini Anlama, Karakterli Değerleri ve Sayısal Değerleri Anlama konularını işledik. Eğer her şey anlaşılır hale geldiyse, kullanacağımız ve sıkça karşımıza çıkacak sayısal chmod kombinasyonlarını inceleyelim.

Aşağıda sahip, grup ve genel alanları için sayı biçiminde chmod “toplam” haklarını gösteren tablolar bulunmaktadır.

777 SAYISAL DEĞERİ

SAHİP İZİNLERİGRUP İZİNLERİGENEL İZİNLER
okumaokumaOkuma
yazmayazmayazma
yürütmeyürütmeyürütme

776 SAYISAL DEĞERİ

SAHİP İZİNLERİGRUP İZİNLERİGENEL İZİNLER
okumaokumaokuma
yazmayazmayazma
yürütmeyürütme

775 SAYISAL DEĞERİ

SAHİP İZİNLERİGRUP İZİNLERİGENEL İZİNLER
okumaokumaokuma
yazmayazmayürütme
yürütmeyürütme

774 SAYISAL DEĞERİ

SAHİP İZİNLERİGRUP İZİNLERİGENEL İZİNLER
okumaokumaokuma
yazmayazmaokuma
yürütmeyürütmeokuma

766 SAYISAL DEĞERİ

SAHİP İZİNLERİGRUP İZİNLERİGENEL İZİNLER
okumaokumaokuma
yazmayazyazma
yürütme

755 SAYISAL DEĞERİ

SAHİP İZİNLERİGRUP İZİNLERİGENEL İZİNLER
okumaokumaokuma
yazmayazyürütme
yürütmeyürütme

750 SAYISAL DEĞERİ

SAHİP İZİNLERİGRUP İZİNLERİGENEL İZİNLER
okumaokuma
yazma
yürütmeyürütme

655 SAYISAL DEĞERİ

SAHİP İZİNLERİGRUP İZİNLERİGENEL İZİNLER
okuokuoku
yazyürütmeyürütme

644 SAYISAL DEĞERİ

SAHİP İZİNLERİGRUP İZİNLERİGENEL İZİNLER
okuokuoku
yaz  

444 SAYISAL DEĞERİ

SAHİP İZİNLERİGRUP İZİNLERİGENEL İZİNLER
okuokuoku

Yukarıda listelenen sayısal izin değerleri bir web yöneticisinin çalışmalarında en sık şekilde kullandığı “ana” kombinasyonlardır.

Chmod Nasıl Yapılandırılmalıdır?

FTP yoluyla giriş yapılmadıkça sitenize erişen tüm ziyaretçiler üçüncü gruba yani “Genel İzinler” grubuna aittir. Bu, bir web sitesinin güvenliğini sağlamak için ilk önce üçüncü gruba bakılması gerektiği anlamına gelebilir.

Muhtemelen bir web sitesini sunucuya kopyaladığınızda, varsayılan olarak klasörler için 755, dosyalarınız için 644 chmod atanacaktır.

Klasörler755Sahip (kullanıcı) her şeyi yapabilir, grup ve diğer herkes yalnızca dizinleri okuyabilir ve bunlara girebilir, ancak dosya yazmaları, adları değiştirmeleri ve dizinlerde silmeleri yasaktır. (rwxr-xr-x)
Dosyalar“644”Sahibi (kullanıcı) dosyaları okuyabilir ve değiştirebilir, bunları yürütmek yasaktır, herkesin bunları değiştirmesi ve yürütmesi yasaktır, gerisi sadece okuyabilir. “( rw-r–r–)”

Yalnızca html sayfalarından oluşan bir kaynağınız varsa, her şeyi bu şekilde bırakabilirsiniz. Ancak modern siteler motorlar üzerine inşa edilmiştir ve “dünya” grubundan ziyaretçiler adına kaydetmeniz gereken nesneler olabilir – o (geri kalanı). Bunlar, sayfaları önbelleğe almak için kullanılan dizinler veya site ile çalışma sırasında resimlerin ve diğer görüntülerin yükleneceği dizinler olabilir.

Siteye FTP yoluyla erişirseniz, bu dosyalara veya dizinlere kayıt yapabileceğinizi söyleyebiliriz, ancak web arayüzü ile normal bir kullanıcı olarak çalışarak sorun yaşayabilirsiniz. Bu nedenle, belirli hakların kurulumuna seçici olarak yaklaşılmalıdır.

Bu durumda, haklar çok yüksekse sorunlar ortaya çıkabilir ve tam tersine, belirli bir dosyaya (klasöre) erişim hakları hafife alınırsa, güvenlik riski artar. Bu nedenlere dayanarak, CMS çalıştıran modern bir site için chmod ‘un pratik kullanımı için bazı öneriler belirleyebilirsiniz:

755dosyaların yazılması gereken, ancak düzenli olarak silmediği tüm dizinler için
777dosyaların yazılması ve silinmesi gereken klasörler için (örneğin, önbellek için)
644basit salt okunur dosyalar için (.html, .php vb.)
666yazılması gerekebilecek dosyalar için (örneğin, .dat veritabanlarıyla)
Yenilikten Haberdar Olun

En yeni dijital pazarlama trendlerinden ve özel fırsatlardan haberdar olmak için bültenimize kaydolun!

İletişim Bilgileri

+90 551 684 10 56

[email protected]

Çözümlerimiz
Son Yayınlananlar