- Konu sahibi
- #1
Linux dosya izinleri,
Bir dosyanın izinlerini görmek için terminalde şu komutu çalıştırın:
Örnek çıktı:
İlk alanı soldan sağa şu şekilde ayırabilirsiniz:
İlk karakter izin gruplarından ayrı olarak dosya türünü gösterir:
Her üç karakterlik izin grubunda konumların anlamı sabittir:
Bir izin harfi yerine
Buradaki “çalıştırma” yetkisi normal metin dosyasını mutlaka çalıştırılabilir yapmaz; işletim sisteminin dosyayı program veya betik olarak çalıştırmayı denemesine izin verir. Bir betiğin çalışması için ayrıca uygun bir yorumlayıcı ve doğru içerik gerekir.
Dosyayı silmek, dosyanın kendi w bitinden farklı olarak üst dizindeki yazma ve arama izinleriyle ilgilidir. Sticky bit veya ek güvenlik kuralları ayrıca sınırlayabilir.
Dizinlerde aynı harfler farklı bir sonucu ifade eder. Dizin üzerindeki
Bir dosyanın yalnızca kendisini değil, yol üzerindeki dizinleri de kontrol edin:
Bu komut, yoldaki dizinlerin izinlerini ayrı ayrı görmenize yardımcı olur. “Permission denied” alıyorsanız sorun dosyanın izinlerinde olduğu kadar üst dizinlerden birinde eksik
İzinler sayısal olarak da ifade edilir:
Ancak yalnız sayıya bakmak dosya türünü, sahibini veya grubunu göstermez. Klasik denetimde sahip, uygun grup veya diğerleri sınıfı seçilir. Sahip için izin yoksa daha açık grup/diğer izinlerine geçilmez; üçlüler toplanmaz. ACL ve ayrıcalıklı süreçler ek kurallar getirir. İzinleri yorumlarken
ls -l çıktısındaki ilk karakter ve onu izleyen dokuz karakter okunarak anlaşılır. İlk karakter dosya türünü, sonraki üçlüler ise sırasıyla dosya sahibinin, grubun ve diğer kullanıcıların okuma (r), yazma (w) ve çalıştırma (x) yetkilerini gösterir. Örneğin -rwxr-x--- ifadesi, sahibin tüm yetkilere, grubun okuma ve çalıştırma yetkisine, diğer kullanıcıların ise hiçbir yetkiye sahip olmadığını belirtir.İzin satırının yapısı
Bir dosyanın izinlerini görmek için terminalde şu komutu çalıştırın:
Kod:
ls -l example.txt
Örnek çıktı:
Kod:
-rw-r----- 1 ali editors 1536 Nov 7 10:30 example.txt
İlk alanı soldan sağa şu şekilde ayırabilirsiniz:
Kod:
- rw- r-- ---
| | |
| | +-- diğer kullanıcılar
| +------ grup
+----------- dosya sahibi
İlk karakter izin gruplarından ayrı olarak dosya türünü gösterir:
-normal dosyayı,ddizini,lsembolik bağlantıyı belirtir.
Her üç karakterlik izin grubunda konumların anlamı sabittir:
| İşaret | Anlamı | Dosyada | Dizinde |
|---|---|---|---|
| r | Okuma | İçeriği görüntüleme | İçerik listesini görme |
| w | Yazma | Dosya içeriğini değiştirme | x ile birlikte öğe oluşturma/silme/ad değiştirme |
| x | Çalıştırma | Programı veya betiği çalıştırma | Dizine girme ve içeriğine erişme |
Bir izin harfi yerine
- varsa o konumda ilgili yetki yoktur. Örneğin r-- yalnızca okuma, rw- okuma ve yazma, r-x ise okuma ve çalıştırma yetkisi anlamına gelir.Somut örnek nasıl yorumlanır?
-rwxr-x--- satırını üç gruba ayırın: rwx, r-x ve ---. Buna göre:- Dosya türünün normal dosya olduğunu, baştaki
-işaretinden anlayın. - Sahibin
rwxyetkisine sahip olduğunu belirleyin: dosyayı okuyabilir, değiştirebilir ve çalıştırabilir. - Grubun
r-xyetkisine sahip olduğunu belirleyin: dosyayı okuyabilir ve çalıştırabilir, ancak değiştiremez. - Diğer kullanıcıların
---nedeniyle dosya için hiçbir yetkisi olmadığını belirleyin.
Buradaki “çalıştırma” yetkisi normal metin dosyasını mutlaka çalıştırılabilir yapmaz; işletim sisteminin dosyayı program veya betik olarak çalıştırmayı denemesine izin verir. Bir betiğin çalışması için ayrıca uygun bir yorumlayıcı ve doğru içerik gerekir.
Dizin izinlerini okuma
Dosyayı silmek, dosyanın kendi w bitinden farklı olarak üst dizindeki yazma ve arama izinleriyle ilgilidir. Sticky bit veya ek güvenlik kuralları ayrıca sınırlayabilir.
Dizinlerde aynı harfler farklı bir sonucu ifade eder. Dizin üzerindeki
r içeriğin adlarını listelemeyi, w dosya oluşturma veya silmeyi, x ise dizine girmeyi ve içindeki öğelere erişim yolunda ilerlemeyi sağlar. Oluşturma ve silme için dizindeki w yanında x de gerekir. Bu nedenle yalnızca r bulunan bir dizini listeleyebilmek, içindeki dosyaları açabileceğiniz anlamına gelmez; erişim için genellikle x de gerekir.Bir dosyanın yalnızca kendisini değil, yol üzerindeki dizinleri de kontrol edin:
Kod:
namei -l /home/ali/example.txt
Bu komut, yoldaki dizinlerin izinlerini ayrı ayrı görmenize yardımcı olur. “Permission denied” alıyorsanız sorun dosyanın izinlerinde olduğu kadar üst dizinlerden birinde eksik
x yetkisi de olabilir.Sayısal izinleri anlama
İzinler sayısal olarak da ifade edilir:
r=4, w=2, x=1. Her kullanıcı grubu için değerleri toplayın. Örneğin rwx=7, r-x=5 ve ---=0 olduğundan 750, -rwxr-x--- ile aynı izin dağılımını anlatır.Ancak yalnız sayıya bakmak dosya türünü, sahibini veya grubunu göstermez. Klasik denetimde sahip, uygun grup veya diğerleri sınıfı seçilir. Sahip için izin yoksa daha açık grup/diğer izinlerine geçilmez; üçlüler toplanmaz. ACL ve ayrıcalıklı süreçler ek kurallar getirir. İzinleri yorumlarken
ls -l çıktısındaki sahibi ve grup alanlarını da birlikte değerlendirin. İhtiyaç duyulan yetkiyi belirledikten sonra yalnızca gerekli kullanıcı veya gruba izin vermek, herkese açmaktan daha doğru yaklaşımdır.Sık yapılan hatalar
- Dizinde
rbulunmasını, dizindeki her dosyayı açma yetkisi sanmak. - Dosyanın sahibi olmanın dosya üzerinde otomatik olarak yazma yetkisi verdiğini düşünmek.
- İzinleri yalnızca dosyaya bakarak yorumlamak ve üst dizinlerdeki
xyetkisini kontrol etmemek. - Çalıştırılabilir bir dosyanın güvenilir veya zararsız olduğunu varsaymak.
xyalnızca çalıştırma iznidir; dosyanın içeriğini değerlendirmez.