Linux işletim sisteminde her dosya ve dizinin belirli izinleri vardır. Bu izinler, sistem güvenliğinin temel taşlarından biridir. ls -l
komutu ile görüntülenen bu izinler, kimlerin hangi işlemleri yapabileceğini belirler.
ls -l Çıktısının Detaylı Analizi
Örnek çıktı:
drwxr-xr-x 2 shum staff 4096 Jan 16 14:07 public_html
- İlk Karakter (Dosya Türü):
-
: Normal dosyad
: Dizinl
: Sembolik bağlantıc
: Karakter aygıtıb
: Blok aygıtıs
: Soketp
: İsimli boru (named pipe)
- İzin Grupları (3×3 karakter):
- İlk 3 karakter: Kullanıcı (owner) izinleri
- Sonraki 3: Grup izinleri
- Son 3: Diğerleri (others) için izinler
- Hard Link Sayısı:
- Dosyanın kaç farklı isimle erişilebildiğini gösterir
- Dizinlerde bu sayı, içerdiği alt dizin sayısı + 2 (
.
ve..
)
- Kullanıcı ve Grup Bilgisi:
- Dosyanın sahibi olan kullanıcı
- Dosyanın ait olduğu grup
- Boyut:
- Dosyalar için byte cinsinden boyut
- Dizinler için genellikle 4096 byte (blok boyutu)
- Değiştirilme Tarihi:
- Son değişiklik tarihi ve saati
- Dosya/Dizin Adı:
- Mavi: Dizinler
- Yeşil: Çalıştırılabilir dosyalar
- Kırmızı: Arşiv dosyaları
- vb. (terminal ayarlarına göre değişir)
İzin Türleri ve Anlamları
Temel İzinler:
r
(read): Okuma izni- Dosyalar: İçeriği görüntüleme
- Dizinler: İçerik listesini görüntüleme (
ls
) w
(write): Yazma izni- Dosyalar: Değiştirme ve silme
- Dizinler: Dosya oluşturma/silme
x
(execute): Çalıştırma izni- Dosyalar: Program olarak çalıştırma
- Dizinler: Dizine girme (
cd
)
Özel İzinler (İlk üçlüden sonra görünür):
s
(setuid/setgid): Çalıştırıldığında dosya sahibinin/grup haklarıyla çalışırt
(sticky bit): Paylaşımlı dizinlerde sadece sahibin dosyasını silebilmesi
Sayısal (Octal) İzin Gösterimi
Her izin grubu 3 bit ile temsil edilir (rwx):
İzin | Değer |
---|---|
r | 4 |
w | 2 |
x | 1 |
Örnekler:
rwxr-xr--
= 754- Kullanıcı: 4+2+1=7
- Grup: 4+0+1=5
- Diğerleri: 4+0+0=4
İzinleri Değiştirme
chmod
komutu ile izinler değiştirilebilir:
- Sembolik yöntem:
chmod u+x dosyaadi # Kullanıcıya çalıştırma izni ekler
chmod g-w dosyaadi # Gruptan yazma iznini kaldırır
chmod o=r dosyaadi # Diğerlerine sadece okuma izni verir
- Sayısal yöntem:
chmod 755 dosyaadi # rwxr-xr-x
chmod 644 dosyaadi # rw-r--r--
Özel Durumlar
- Dizinlerde Execute İzni:
- Dizine girebilmek için x izni gerekir
- Dizin içeriğini görebilmek için r izni gerekir
- Dosya oluşturmak için w izni gerekir
- Setuid/Setgid:
chmod u+s dosya
veyachmod 4755 dosya
- Örneğin
/usr/bin/passwd
bu şekilde çalışır
- Sticky Bit:
/tmp
dizininde kullanılırchmod +t dizin
veyachmod 1777 dizin
Pratik Örnekler
- Kişisel dizini koruma:
chmod 700 ~/
- Web sunucusu için:
chmod 755 public_html/
chmod 644 public_html/*.html
- Paylaşımlı grup dizini:
chgrp projegrubu /paylasim
chmod 2770 /paylasim
Güvenlik İpuçları
- Asla gereksiz yere
chmod 777
kullanmayın - Scriptlere sadece gerekli kullanıcılara x izni verin
- Hassas dosyaları
chmod 600
ile koruyun - Dizin izinlerini dosya izinlerinden ayrı düşünün
Bu detaylı izin yapısı, Linux’u çok kullanıcılı ortamlarda güvenli kılan temel özelliklerden biridir. Doğru yapılandırıldığında hem işbirliğine imkan verir hem de yetkisiz erişimleri engeller.
Bir yanıt yazın