Dosya izinleri (permissions / chmod), hosting sunucusundaki her dosya ve klasör için kimin neyi yapabileceğini belirler: okuma, yazma ve çalıştırma. Paylaşımlı hosting'de doğru izinler hem uygulamanızın sorunsuz çalışması hem de güvenliği için kritiktir. Yanlış izin verilmiş bir dosya "Forbidden" hatası verebileceği gibi, fazla geniş izin (özellikle 777) sitenize zararlı kod enjekte edilmesinin kapısını aralayabilir.
1. File Manager Üzerinden İzin Değiştirme
- cPanel'e giriş yapın.
- Dosyalar bölümünde File Manager'a tıklayın.
- İzinleri değiştirmek istediğiniz dosya veya klasörü seçin.
- Üst araç çubuğundan Permissions butonuna tıklayın (alternatif olarak dosyaya sağ tıklayıp Change Permissions).
- Açılan kutuda Permission alanına üç haneli sayıyı yazın (ör.
644) ya da kutucukları işaretleyerek değer üretin. - Change Permissions butonuna tıklayın.
2. Permission Kodlarının Anlamı
Üç haneli sayı sırasıyla sahip (owner), grup (group) ve diğer (world) kullanıcıların izinlerini ifade eder. Her hane şu değerlerin toplamıdır:
- 4 — Read (okuma)
- 2 — Write (yazma)
- 1 — Execute (çalıştırma; klasörler için "içine girme")
Örneğin 755 izninde:
- 7 (owner) = 4 + 2 + 1 → okuma + yazma + çalıştırma
- 5 (group) = 4 + 1 → okuma + çalıştırma
- 5 (world) = 4 + 1 → okuma + çalıştırma
3. Sık Kullanılan İzin Değerleri
- 644 — Standart web dosyaları: HTML, CSS, JS, PHP, görseller,
.htaccess. Sahip okuyup yazabilir; web sunucusu okuyabilir. - 755 — Tüm klasörler ve çalıştırılabilir script'ler (örn.
cgi-biniçindeki dosyalar). Sahip tam yetkili, diğerleri okur ve içine girebilir. - 600 — Hassas yapılandırma dosyaları (örn. WordPress
wp-config.php, özel API anahtarı içeren.env). Sadece sahip okuyabilir ve yazabilir. - 400 — Salt okunur özel anahtarlar (SSH private key, SSL key vb.). Sadece sahip okuyabilir.
- 444 — Hiç kimsenin değiştirmesini istemediğiniz, herkesin okuyabilmesi gereken dosyalar (nadiren tercih edilir).
4. 777 ve 666 Neden Tehlikeli?
Bazı eklenti veya tema kurulum talimatlarında "izinleri 777 yapın, sorununuz çözülür" gibi tavsiyelere rastlayabilirsiniz. Bu önerilere uymayın.
- 777 herkese (sunucudaki diğer kullanıcılar ve kötü niyetli script'ler dahil) okuma, yazma ve çalıştırma izni verir. Sitenize dışarıdan zararlı PHP dosyası yazılmasının önünü açar.
- 666 çalıştırma izni yok ama yine herkes yazabilir; aynı şekilde tehlikelidir.
Bir uygulama gerçekten yazma izni istiyorsa 644 yerine 664 (owner+group write) yeterli olur; 777'ye ihtiyaç duyan modern uygulama yok denecek kadar azdır.
5. Alt Klasörlere Toplu Uygulama
Bir uygulamanın tüm dosyalarını topluca düzeltmek için iki yöntem vardır:
- File Manager: Birden fazla dosya/klasör seçip Permissions butonu ile aynı değeri uygulayabilirsiniz; ne yazık ki File Manager varsayılan olarak "alt klasörlere uygula" özelliği sunmaz, klasör ve içindeki her dosya için ayrı işlem gerekir.
- SSH (Terminal): SSH erişiminiz varsa tek komutla tüm yapıyı düzeltebilirsiniz:
İlk komut tüm dosyalara 644, ikincisi tüm klasörlere 755 verir.find /home/kullaniciadi/public_html -type f -exec chmod 644 {} \; find /home/kullaniciadi/public_html -type d -exec chmod 755 {} \;
İzin değişikliği sonrası siteniz 500 Internal Server Error veya Forbidden hatası veriyorsa büyük olasılıkla izinleri çok dar (örn. 600 yerine 400) verdiniz. 644/755 standart değerlerine geri dönerek toparlayabilir, çözülmezse destek talebi açabilirsiniz.