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.