Örnek sorular
Linux Filesystem Permissions LinksZorluk 1
ls -l çıktısındaki -rwxr-xr-- izin dizisinde, owner bitlerindeki (rwx) x normal bir dosya için ne anlama gelir?
- aDosyanın sahibi dosyayı çalıştırabilir✓
- bDosyanın sahibi, dizin izinlerinden bağımsız olarak dosyayı silebilir
- cDosya bir sembolik linktir
- dDosya kimse tarafından okunamaz
Açıklama:Normal bir dosya için execute biti (x), o izin sınıfının dosyayı program/script olarak çalıştırıp çalıştıramayacağını belirler. Bir dosyayı silme yetkisi aslında dosyanın kendi izin bitleri değil, onu içeren dizinin write bitiyle kontrol edilir.
Linux Filesystem Permissions LinksZorluk 1
rwxr-xr-x izni hangi octal değere karşılık gelir?
Açıklama:Her izin üçlüsü bir rakama karşılık gelir: r=4, w=2, x=1, sınıf başına toplanır. Owner rwx=7, group r-x=5, other r-x=5, toplamda 755 eder.
Linux Filesystem Permissions LinksZorluk 1
Aşağıdaki komut ne yapar?
chmod u+x deploy.sh
- aOwner dışında herkesten execute iznini kaldırır
- bGroup ve other'a execute izni verir, owner'a vermez. Bu, pratikte yaygın bir yanlış anlamadır.
- cDosyanın owner'ı için execute iznini ekler, group/other bitlerine dokunmaz✓
- dDosyayı yalnızca root tarafından çalıştırılabilir yapar, owner'ı yok sayar
Açıklama:Sembolik form u+x, yalnızca user/owner sınıfı (u) için execute bitini (x) ekler (+), group veya other izin bitlerine dokunmaz — tüm bitleri bir kerede yeniden yazan octal chmod'un aksine.
Linux Filesystem Permissions LinksZorluk 1
Bir dizinde read izni (normal bir dosyadaki read'in aksine) neyi sağlar?
- aDosyanın kendi izinlerinden bağımsız olarak dizin içindeki herhangi bir dosyayı çalıştırmayı
- bO dizin içinde yeni dosya oluşturmayı
- cO dizin içindeki dosyaları silmeyi
- dO dizinde saklanan girdilerin (dosya/alt dizin) isimlerini listelemeyi✓
Açıklama:Bir dizinde read biti, ls gibi araçların içerdiği girdilerin isimlerini listeleyip listeleyemeyeceğini kontrol eder. Tek başına dosya içeriğini okumaya, girdi oluşturma/silmeye (bunun için write gerekir) veya dizine geçiş yapmaya (bunun için execute gerekir) izin vermez.
Linux Filesystem Permissions LinksZorluk 2
somedir dizininin izinleri, deneyen kullanıcı için rw-rw-rw- olduğunda cd somedir neden 'Permission denied' hatası verir?
- aBir dizine girmek (traverse) execute bitini gerektirir, burada bu bit eksik✓
- b
cd komutu izinlerden bağımsız olarak her zaman root yetkisi gerektirir - cBir dizinde read ve write izni her durumda
cd için yeterlidir. Bu, kulağa makul gelen ama sonuçta yanlış olan bir zihinsel modeldir. - dDizine girilebilmesi için önce setuid bitinin ayarlanmış olması gerekir
Açıklama:Dizinler için, bir sürecin içine geçiş yapmasını (ör. cd, ya da tam yol ile bir dosyaya erişim) sağlayan şey execute bitidir — read veya write değil. Execute olmadan, read/write bitleri ayarlansa bile dizinin içeriğine ulaşılamaz.
Linux Filesystem Permissions LinksZorluk 2
report.txt dosyasının izinleri -r--r--r-- (owner alice), ama onu içeren shared/ dizininin izinleri drwxrwxrwx. Alice ile aynı gruptaki başka bir kullanıcı report.txt'yi silebilir mi?
- aHayır, dosyanın kendisi salt-okunur olduğu için silme her durumda engellenir. Birçok takım bunu varsayılan olarak kabul eder, bu da sonradan kafa karıştırıcı incident'lara yol açabilir.
- bEvet, çünkü bir dosyayı silmek dosyanın kendi izin bitleri değil, onu içeren dizindeki write izniyle kontrol edilir✓
- cHayır, dosyayı yalnızca alice (dosyanın sahibi) her koşulda silebilir
- dEvet, ama yalnızca kullanıcının report.txt üzerinde doğrudan execute izni de varsa
Açıklama:Bir dosyayı silmek (unlink) dizin girdisinde bir değişikliktir, bu yüzden dosyayı içeren dizindeki write (ve execute/traverse) izniyle yönetilir — dosyanın kendi salt-okunur izin bitleri bunu engellemez.