Linux’ta dosya ve dizin izinleri, sistem güvenliği ve kullanıcı erişimi yönetimi açısından büyük önem taşır. Yanlış izinler, yetkisiz erişime, veri kaybına veya güvenlik açıklarına yol açabilir.
Bu yazıda, chmod ve chown komutlarını kullanarak dosya ve dizin izinlerini yönetmeyi öğreneceğiz.
1. Linux’ta Dosya İzinlerinin Önemi
Linux’ta her dosyanın ve dizinin belirli izinleri (permissions) ve sahipleri (ownership) vardır. Bir dosyanın izinlerini görmek için ls -l komutunu kullanabilirsiniz:
ls -l dosya.txt
✅ Örnek çıktı:
-rw-r--r-- 1 kullanici grup 1024 Feb 28 12:00 dosya.txt
📌 Açıklama:
-rw-r--r--
→ Dosya izinlerikullanici
→ Dosya sahibigrup
→ Dosya sahibi grubudur1024
→ Dosya boyutu (byte)Feb 28 12:00
→ Dosyanın son değiştirilme tarihi
2. chmod Komutu ile Dosya İzinlerini Ayarlama
Linux’ta Temel İzin Türleri
İzin | Kısaltma | Sayısal Karşılığı | Açıklama |
---|---|---|---|
Okuma | r |
4 | Dosyayı okuyabilir |
Yazma | w |
2 | Dosyayı düzenleyebilir |
Çalıştırma | x |
1 | Dosyayı çalıştırabilir (script, program vb.) |
chmod Kullanımı (Sayısal ve Harfli Yöntemler)
1️⃣ Sayısal Yöntem ile chmod Kullanımı
Sayısal yöntemde, izinleri üç basamaklı bir sayı ile belirleriz:
chmod 755 dosya.txt
📌 755
açıklaması:
- 7 (rwx) → Kullanıcıya okuma, yazma ve çalıştırma izni
- 5 (r-x) → Gruptakilere okuma ve çalıştırma izni
- 5 (r-x) → Diğer kullanıcılara okuma ve çalıştırma izni
✅ Yaygın chmod Ayarları:
İzin Kodu | Açıklama |
---|---|
777 |
Herkese tam erişim (Güvenli değil!) |
755 |
Kullanıcıya tam izin, diğerlerine sadece okuma/çalıştırma |
644 |
Kullanıcıya okuma/yazma, diğerlerine sadece okuma |
600 |
Sadece sahibi okuyup yazabilir |
2️⃣ Harfli Yöntem ile chmod Kullanımı
Harfli yöntemde +
veya -
kullanarak izinleri ayarlayabiliriz:
chmod u+rwx,g+rx,o-r dosya.txt
📌 Açıklama:
u+rwx
→ Kullanıcıya okuma, yazma ve çalıştırma izni ekler.g+rx
→ Gruptakilere okuma ve çalıştırma izni ekler.o-r
→ Diğer kullanıcılardan okuma iznini kaldırır.
✅ Örnek:
chmod o-w dosya.txt # Diğerlerinin yazma iznini kaldır
chmod u+x script.sh # Kullanıcıya çalıştırma izni ver
3. chown Komutu ile Dosya Sahipliğini Değiştirme
Linux’ta her dosyanın bir sahibi ve grup erişimi vardır. chown komutu ile dosyanın sahibini değiştirebilirsiniz.
Dosya Sahibini Değiştirme
chown yeni_kullanici dosya.txt
📌 Örnek:
chown ahmet dosya.txt # Dosyanın sahibi 'ahmet' olur
Dosya Sahibi ve Grubu Değiştirme
chown yeni_kullanici:yeni_grup dosya.txt
📌 Örnek:
chown ahmet:www-data dosya.txt # Sahip 'ahmet', grup 'www-data' olur
Bir Klasör ve İçindeki Tüm Dosyaların Sahipliğini Değiştirme
chown -R yeni_kullanici:yeni_grup /var/www/
📌 Örnek:
chown -R apache:apache /var/www/html
✅ -R
(Recursive) parametresi, alt klasörleri ve dosyaları da kapsar.
4. Gerçek Dünya Örnekleri ve Güvenlik Önerileri
🚀 Web sunucuları için en iyi chmod ve chown ayarları:
1️⃣ Web Sunucu Dosya İzinleri (Apache/Nginx Kullanımı)
chown -R www-data:www-data /var/www/html/
chmod -R 755 /var/www/html/
✅ Bu ayarlar, Apache/Nginx’in dosyalara erişmesini sağlar ancak yazma iznini sınırlandırır.
2️⃣ SSH Yetkilendirme Güvenliği
SSH anahtarlarını güvenli hale getirmek için:
chmod 600 ~/.ssh/id_rsa
chmod 700 ~/.ssh
chmod 644 ~/.ssh/id_rsa.pub
✅ Bu izinler, özel anahtarın sadece kullanıcı tarafından okunabilir olmasını sağlar.
3️⃣ Kullanıcıların Başka Kullanıcı Dosyalarına Erişimini Engelleme
chmod 750 /home/kullanici
✅ Bu, sadece sahibi ve grubun dizine erişmesine izin verir.
Hataları Önleme ve Doğru İzin Kullanımı
✔ Dosya izinlerini gereksiz yere 777 yapmayın! Yazmanız gerekmiyorsa 444 olarak ayarlayın.
✔ Sadece yetkilendirilmiş kullanıcıların dosya değiştirebildiğinden emin olun.
✔ Kritik sistem dosyalarının (örneğin /etc/passwd
) yanlışlıkla değiştirilmemesi için izinlerini kontrol edin.
✔ chmod ve chown işlemlerinden önce ls -l
ile mevcut izinleri kontrol edin.
Yorum gönder