Ana sayfa→Yazılım & İşletim Sistemleri
Yazılım & İşletim Sistemleri

Linux Dosya İzinleri 50 Yılı Aştı: Yine Üç Harf Her Dosyaya Kimin Erişeceğini Belirliyor.

Linux'a yeterince derin bir göz atarsanız, uzun zamanlardan kalma izlere, bugün hâlâ çalışmaya devam eden parçalara rastlamanız olası. Peki, 1971'de…

User Avatar
Alper DemirEditör
5 dk okuma

Linux’a yeterince derin bir göz atarsanız, uzun zamanlardan kalma izlere, bugün hâlâ çalışmaya devam eden parçalara rastlamanız olası. Peki, 1971’de ortaya çıkan bir teknolojinin hem bugünkü Linux bilgisayarınızda hâlâ var olduğu hem de icat edildiği işi yapmaya devam ettiği konusunda farkınız var mı? Konumuz rwx; nasıl ortaya çıktığı ve kendi sisteminizde bunu nasıl deneyebileceğiniz.

A laptop running Linux Mint and showing theming options in the settings

Hikâye, daha basit bir yola olan ihtiyacın başlangıcıyla başlar

Her şey çok karmaşıktı

Nereye geldiğimizi görmek için nereden başladığımıza bakmamız gerekiyor. Bunu yapmak için saati tamamen 60’lara geri sarmamız gerekiyor. O dönemde Multics adında bir işletim sistemi vardı ve hangi dosyaya kimin erişebileceğine dair verdiği kararlar biraz karmaşıktı.

Multics sistemlerinde her dosya bir izin listesi içerirdi. Aslında bu, elinde bir tablet tutan bir kapıcıya benzerdi. Birisi dosyayla bir şey yapmaya çalıştığında, işletim sistemi izinleri denemek için listeyi baştan sona tara. Bu izinler her kullanıcıyı, üyesi olduğu proje grubunu ve izinlerini tanımlardı. Kapıcı, kullanıcının erişim düzeyini onayladığında, ona ancak o alanlara giriş izni verirdi.

SayarBilgi sitesini Google’da tercih edilen kaynak olarak seç

Güvenliydi, ancak aynı zamanda oldukça bir yük de niteliğindeydi. Yönetim açısından bakıldığında, her dosyanın üzerinde çalışabileceği uygun bir “tablet”inin olduğundan emin olmak biraz kabustu. Üstelik, birisi her dosyayı kullanmak istediğinde bu listeyi baştan sona taramak bellek ve işlem gücü gerektiriyordu; 60’ların bilgisayarlarındaysa bu kaynaklar bolca yoktu!

Using ls -lah command on Linux

İki araştırmacı, işleri yapmanın daha basit bir yolunu buldu

Dokuz bit, üç amaç

Ken Thompson ve Dennis Ritchie adlı iki araştırmacı, 1969’da Multics’ten ayrıldı. Üzerinde çalıştıkları, Unix adını verdikleri bu yeni işletim sistemi için izinleri yönetebilecek bir sisteme ihtiyaçları vardı. Ancak Multics’in kullandığı sistemi aynen kullanmak istemediler; belleği daha az yoran, daha anlaşılması çok daha kolay bir şey istiyorlardı.

Sonuç olarak, bir dosyanın panoya kopyalanması için her bir kişinin ve her bir grubun ayrı ayrı sahip olması gereken izinlerin ayrıntılı biçimde gerekmediğini keşfettiler. Aslında, yalnızca üç gruba bölünmüş dokuz sayıyla oldukça fazla şey yapılabileceğini anladılar.

İşleyiş şöyle işliyordu. 1971 tarihli Unix Programcı El Kitabı’nda Ken Thompson ve Dennis Ritchie, izin seviyelerini temsil etmek için 2’lik (ikili) sayı sistemini kullandı. 2’lik sayı sistemi, temel sayım sistemimiz olan 10’luk sistemden biraz farklıdır. 2’lik sistemde en sağdaki ilk basamak 1’i, ikinci basamak 2’i, en soldaki üçüncü basamak ise 4’ü temsil eder. Herhangi bir basamakta 1’den büyük bir sayı kullanamazsınız, bu yüzden 0’lar ve 1’lerle sıkışıp kalırsınız; işte bilgisayarların veriyi nasıl sakladığı tartışılırken bahsedilen ikili sistem de budur.

İnsanlar olarak ‘101’ sayısına baktığımızda onu yüz, sıfır on ve bir bir (yani yüz bir) olarak okuruz; ancak 2’lik sistem kullanan bir bilgisayar ise bir dört, sıfır iki ve bir bir görür. Bu değeri değerleri toplayarak 8’lik sisteme çevirebiliriz: bir dört ve bir bir beşe eşittir, dolayısıyla 8’lik sistemde ‘101’, ‘5’ anlamına gelir. Bu üç basamakla en küçük sayı 000’dır (8’lik sistemde 0), en büyük sayı ise 111’dir (bir dört, bir iki ve bir bir, 8’lik sistemde 7’ye eşittir).

İşte Ken Thompson ve Dennis Ritchie bu bilgiyi şöyle kullandı. O üç basamağı 2’lik sistemden alıp her birine bir işlev atadı. En soldaki basamak okuma iznini, ortadaki yazma iznini, en sağdaki ise çalıştırma iznini temsil eder. 1 iznin verildiğini, 0 ise verilmediğini gösterir. Dolayısıyla 101 görseydiniz, bunun biri dosyayı okuyup çalıştırabileceğini, ancak düzenleyemeyeceğini ifade ederdi. 2’lik sistemde olduğu için bunu 8’lik sisteme çevirip 5 sayısı elde edebilirsiniz. Yani birine ‘beşinci kural’ verirseniz, okuyup çalıştırabilir, ancak düzenleyemezdi. Sıfıncı kural hiç erişim izni vermezdi, yedinci kural ise her şeye izin verirdi.

Ken Thompson ve Dennis Ritchie ardından bu üçlü sayılardan üçünü birleştirdi. İlk üçlü, dosyayı sahibinin ne yapabileceğini; ikincisi, tanınmış bir gruptaki insanların ne yapabileceğini; sonuncusu ise diğer herkesin ne yapabileceğini temsil eder.

Bu nedenle, dosyanın sahibinin dosyaya tam erişimi olsun, tanınmış bir grubun üyelerinin dosyayı düzenlemeden okuyup çalıştırabilmesi için herkesin ise yalnızca dosyayı okuyabilmesi isteniyorsa, sahibine ‘111’, gruba ‘101’ ve diğer herkesin ‘100’ değeri verilebilir; bu da “111 101 100” şeklinde okunan bir dize oluşturur. Ve biz bu değeri daha insancıl bir şekilde taban-8’e dönüştürebiliriz: ‘754’. Yalnızca dokuz taban-2 sayısı ya da üç taban-8 sayısı ile iki araştırmacı, üç farklı kullanıcı türü için üç erişim düzeyini tanımlayabilir. Çok zekice.

Taban-2’deki üç sayı, kısa yolu ‘rwx’ olan Oku, Yaz ve Çalıştır olarak bilinmeye başladı. Ve o üç harf, neyin kim tarafından erişilebilir olduğunu tanımladı.

rwx sistemi Linux’a yerleşiyor

Çok başlangıçtan beri oradaydı

1991 yılına atlayalım ve genç Linus Torvalds Linux’u oluşturuyordu. POSIX uyumlu olmasını istiyordu, böylece mevcut Unix araçlarıyla çalışacaktı; bu da rwx sistemini benimsemek anlamına geliyordu. Yani, tam da bunu yaptı.

Linux güvenliği o zamandan beri açıkça çok yol kat ets de, bugün sisteminize rwx’in etkisini hâlâ görebilirsiniz. Terminalinize “ls -l” yazdığınızda, her satırın solundaki bit, sahne alan rwx sistemidir. Örneğin, çıktımın ilk satırı şunu okuyor:

drwxr-xr-x. 1 simon simon 76 Oct 5 19:26 AppImages

Tam başta rastgele bir harf yığını gibi görünen şey, ilk kez sahneye çıktığından beş onyıl sonra rwx’in işini yapıyor. Dört parçadan oluşuyor:

  • Başındaki d harfi sisteme bunun bir dizin olduğunu belirtir.
  • d’nin hemen ardından gelen rwx dosyanın sahibinin izinleridir: okuma, yazma ve çalıştırma.
  • Sonrasında gelen r-x grubun izinleridir: okuma ve çalıştırma, ancak yazma yok. Yazma izninin olmamasının, w harfinin olması gereken yerde tire ile gösterildiğine dikkat edin.
  • Son r-x ise diğer herkes için geçerlidir ve yine okuma ve çalıştırma, ancak yazma yok anlamına gelir.

Bu da 111 101 101, yani 8’lik sisteme göre 755 anlamına gelir. Panodaki o uzun diziden çok daha basit bir yöntem.

Linux, eski teknolojinin bir hazinesidir

Sonraki sefer bir Linux terminal çıktısında tuhaf bir şeyle karşılaştığınızda, ne anlama geldiğini ve nasıl ortaya çıktığını derinlemesine inceleyin. Aslında hiç bilmiyorsunuz; bugün hâlâ güçlü şekilde kullanılan ~50 yaşında bir izin sistemine rastlayabilirsiniz!

İlginizi Çekebilir: Kanal Kanal Gezinme Dönemini Özledim: Jellyfin ile Bu Deneyimi Yeniden Yarattım →
Kaynak: XDA Developers ↗Kaynak yazarı: Simon Batt
💬 SayarBilgi Topluluğu

Bu Gelişmeyi Toplulukta Değerlendirin

Haber hakkındaki düşüncelerinizi, donanım deneyimlerinizi ve teknik sorularınızı topluluk üyeleriyle anlık olarak tartışın.

Topluluk Canlı Akışı →
💬 Topluluk Masası & Tartışma

Bu gelişme hakkında düşüncelerinizi, donanım deneyimlerinizi veya sorularınızı Topluluk Forumumuzda paylaşın.

Foruma Katıl & Yanıtla ➔
Forumda sor / tartış
TOPLULUĞUN SESİ

Söz sizde.

0 yorum

Deneyiminizi, sorularınızı ve katkılarınızı paylaşın. E-posta adresiniz yayımlanmaz.

Sohbete katıl

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Yorumunuz yayımlanmadan önce onay bekleyebilir.

BİR SONRAKİ OKUMA

Merak etmeye devam

Tümünü gör ↗

Neyi merak ediyorsun?

En az 3 karakter yazın.

Keşfet