Site icon Netopsiyon Online

Linux’ta Dosya ve Dizin İzinleri: chmod ve chown Kullanımı

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:


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ı:

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:

Ö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.

Exit mobile version