Dosya ve Klasör İzinlerini Yönetme
Kısa cevap: Windows'ta bir klasöre sağ tıklayıp Özellikler > Güvenlik > Düzenle yolundan kullanıcı veya grup seçip okuma/yazma haklarını işaretlersiniz. Linux'ta ise chmod 755 klasor ve chown kullanici:grup klasor komutları işi bitirir. İki sistemde de mantık aynıdır: kim, hangi nesne üzerinde, ne yapabilir? Bir dosya izni permission ayarı bozulduğunda çoğu "erişim engellendi" hatası bundan doğar.
İzin Modeli Nasıl Çalışır?
Her dosya ve klasörün bir sahibi vardır. Sahip dışındaki herkes için ayrı kurallar tanımlanır. Fark, kuralların yazılma biçiminde.
- Windows: ACL (Erişim Denetim Listesi) kullanır. Sınırsız sayıda kullanıcı ve grup için ayrı ayrı izin satırı eklenebilir.
- Linux: Klasik olarak üç kategori vardır — sahip (user), grup (group), diğerleri (others). Daha ince ayar için ACL desteği de bulunur.
Linux izin rakamlarının anlamı
| Rakam | Anlam | Harf gösterimi |
|---|---|---|
| 4 | Okuma | r |
| 2 | Yazma | w |
| 1 | Çalıştırma / klasöre girme | x |
| 7 | Hepsi (4+2+1) | rwx |
| 5 | Okuma + çalıştırma | r-x |
| 0 | Hiçbir hak yok | --- |
Üç rakam sırayla sahip, grup ve diğerleri içindir. 755 demek: sahip her şeyi yapar, grup ve diğerleri sadece okur ve girer. 644 ise düz dosyalar için tipik ayardır.
Klasörlerde x izni yoksa içeriği listeleyemezsiniz. Bu yüzden klasörler genelde 755, dosyalar 644 olur.
Windows'ta İzin Değiştirme
- Klasöre sağ tıklayın, Özellikler'i açın.
- Güvenlik sekmesine geçin. Üstte grup ve kullanıcı listesi, altta seçilenin hakları görünür.
- Düzenle'ye basın. Kullanıcı yoksa Ekle ile adını yazıp Adları Denetle yapın.
- İhtiyacınıza göre Tam Denetim, Değiştirme, Okuma ve Yürütme kutularını işaretleyin.
- Uygula deyip kapatın.
Sahiplik alma
Bazı sistem klasörlerinde düzenleme butonu bile çalışmaz. O zaman Güvenlik > Gelişmiş > Sahip: Değiştir yolundan kendi hesabınızı sahip yapın. "Alt kapsayıcılarda ve nesnelerde sahibi değiştir" kutusunu işaretlemeyi unutmayın.
Komut satırı ile hızlı yol
- icacls "C:\Yol" /grant Kullanici:(OI)(CI)F — belirtilen kullanıcıya alt klasörleri de kapsayacak tam yetki verir.
- takeown /f "C:\Yol" /r /d y — klasörün ve tüm içeriğinin sahipliğini alır.
- icacls "C:\Yol" /remove Kullanici — o kullanıcının izin satırını siler.
Bu komutları yönetici olarak açılmış bir konsolda çalıştırmanız gerekir. Riskli bir işlemden önce sistem geri yükleme noktası oluşturmak iyi bir alışkanlıktır.
Linux'ta İzin Değiştirme
- chmod 644 dosya.txt — rakamsal atama.
- chmod u+x betik.sh — sadece sahibe çalıştırma hakkı ekler.
- chmod -R 755 /var/www/site — klasörü ve altındakileri topluca ayarlar.
- chown -R ali:gelistirici proje/ — sahip ve grubu değiştirir.
- ls -l — mevcut izinleri listeler. İlk sütun
drwxr-xr-xgibi görünür; baştaki d klasör demektir.
Dosya ve klasörü ayrı ayrı ayarlamak
chmod -R 755 komutu tüm düz dosyalara da çalıştırma hakkı verir. Bu istenmez. Doğrusu:
- find /yol -type d -exec chmod 755 {} \;
- find /yol -type f -exec chmod 644 {} \;
Özel bitler
- Sticky bit (1777): Ortak klasörlerde herkes yazar ama kimse başkasının dosyasını silemez.
/tmpböyle çalışır. - SetGID (2775): Klasörde oluşturulan yeni dosyalar otomatik olarak klasörün grubunu alır. Ekip paylaşımında çok işe yarar.
Sık Yapılan Hatalar
- 777 vermek: Sorunu "çözer" ama herkese yazma hakkı açar. Kalıcı çözüm doğru sahiplik atamaktır.
- Miras zincirini kırmak: Windows'ta devralınan izinleri devre dışı bırakırsanız yeni oluşan alt klasörler beklediğiniz hakları almaz.
- Everyone grubuna güvenmek: Ağ paylaşımlarında bu grup gereksiz geniş erişim yaratır.
- Reddet kuralı yığmak: Windows'ta Reddet, İzin Ver'i ezer. Tek bir yanlış satır bütün erişimi kapatabilir.
- Yedeksiz özyineleme: Yanlış yolda çalıştırılan bir
-Rkomutu sistemi açılmaz hale getirebilir.
Güvenlik İçin Pratik Düzen
- Günlük işlerde standart kullanıcı hesabı kullanın, yönetici hesabını sadece gerektiğinde açın.
- Hassas belgeleri ayrı bir kl