TR EN

Linux'te İzinlere Giriş

Linux, Unix'in dosya bazında güvenlik sağlayan dosya sahipliği ve izinler temelleri üzerine kurulu çok kullanıcılı bir işletim sistemidir (OS). Linux konusunda kendinizi geliştirmek istiyorsanız sahiplik ve izinlerin nasıl çalıştığını iyice kavramalısınız.

Bu derste sahiplik ve izinler nedir ve nasıl görüntüleneceğini anlatacağız. İzinlerin nasıl değiştirileceği konusunu arıyorsanız şu derse bakınız: Linux'te İzinlerin Temelleri

Ön Şartlar

Bu dersi daha iyi anlayabilmeniz için şu derslerde anlatılanları kavramanız iyi olur:

Dersi takip edebilmek için bir Linux bilgisayara erişmeniz şart değil ancak örnekleri uygulamak öğrenmeyi kolaylaştıracaktır. Bilgisayara Linux kurma konusunda şu derse bakabilirsiniz.

Kullanıcılar

Linux çok kullanıcılı bir sistemdir. Linux'te sahiplik ve izinler konusunu anlamak için önce kullanıcılar ve gruplar'a bakmalıyız. Çünkü bunlar kullanıcılara ve gruplara uygulanan özelliklerdir.

Linux'te iki tür kullanıcı vardır: sistem kullanıcıları ve normal kullanıcılar. Sistem kullanıcıları sistemdeki etkileşimli olmayan ve arka planda çalışan işlemler için kullanılır. Normal kullanıcılar ise giriş yapmak ve işlemleri etkileşimli olarak çalıştırmak için kullanılır. Bir Linux bilgisayara giriş yaptığınızda işletim sistemi için gerekli olan hizmet programlarının pek çok sistem kullanıcısı tarafından çalıştırıldığını fark edersiniz ki bu durum gayet normaldir.

Sistemde tanımlı kullanıcıların listesini görmenin kolay bir yolu /etc/passwd dosyasının içeriğine bakmaktır. Bu dosyadaki her bir satır bir kullanıcı hakkında bilgi verir. İlk bilgi kullanıcı adıdır (ilk iki nokta işaretinden : önceki isim). Dosya (passwd) içeriğini görmek için şu komutu yazınız:

cat /etc/passwd

Süper Kullanıcı

Bu iki kullanıcı türüne ek bir kullanıcı daha var: tüm dosyalardaki tüm sahiplik ve izinleri aşabilen süper kullanıcı veya root kullanıcı. Süper kullanıcının tanımlı olduğu bilgisayardaki herşeye erişim hakkı vardır. Bu kullanıcı sistem çapında değişiklikler yapmak için kullanılır ve güvenli tutulmalıdır.

Diğer kullanıcı hesaplarına süper kullanıcı hakları verilebilir. Aslında normal bir kullanıcı oluşturmak ve gerektiğinde sistemin yönetimiyle ilgili işler yapabilmesi için sudo yetkileri vermek daha güvenlidir.

Gruplar

Gruplar sıfır veya daha çok kullanıcılardan oluşur. Bir kullanıcı mevcut gruba üyedir ve sistemdeki diğer gruplardan herhangi birinin de üyesi olabilir.

Grupları ve içindeki kullanıcıları görmenin kolay bir yolu /etc/group dosyasının içeriğine bakmaktır. Dosyayı görmek için şu komutu çalıştırabilirsiniz:

cat /etc/group

Kullanıcılar ve gruplar hakkında biraz bilgi sahibi olduğunuza göre sahiplik ve izinler konusuna başlayabiliriz.

Sahiplik ve İzinleri Görme

Linux'te her dosyanın sahibi olan bir kullanıcı ve bir grup vardır ve erişim haklarına sahiptir. Bir dosyanın sahibini ve erişim haklarını görmenin en yaygın yolu ls komutunu uzun listeleme seçeneğiyle birlikte kullanmaktır (örnek: ls -l dosyaadi.txt). Cari klasörün içindeki tüm dosyaların izinlerini görmek için şu komutu çalıştırınız:

ls -l

İpucu: Eğer içinde bulunduğunuz klasör yeni oluşturulmuş ve henüz hiç dosya yoksa /etc klasörünün içeriğini görmek için ls -l /etc komutunu çalıştırabilirsiniz.

Aşağıdaki resimde örnek bir çıktı ve her sütunun etiketi yer alıyor.

ls columns

Listede dosyaların modu, sahibi, grubu ve adı gösteriliyor. Mode sütununa bakıldığında anlamak gayet kolay. Harfleri ve tire işaretlerini anlamak için mode sütununu bileşenlerine ayıralım.

Mode Sütunu

Aşağıdaki resimde mode sütunu ve harflerin anlamları görülüyor.

mode column

Dosya Türü

Linux'te iki temel dosya türü vardır: normal ve özel. Mode sütunundaki ilk karakter dosya türünü gösterir. Bu yüzden ilk karaktere dosya türü alanı diyoruz.

Normal dosyalar dosya türü alanındaki tire (-) işaretiyle belirtilir. Normal dosyalar, sıradan içinde veri bulunan dosyalardır. Bunları özel dosyalardan ayırmak için normal veya düz dosyalar olarak adlandırılır.

Özel dosyalar dosya türü alanındaki tire işaretinden başka karakterlerle, genellikle harflerle ifade edilir ve işletim sistemi onları normal dosyalardan farklı ele alır. Örneğin, en yaygın özel dosya türü olan klasör d karakteri ile gösterilir. Birkaç özel dosya türü daha vardır. Ancak şu anda konumuz değil.

İzin Sınıfları

Şekilde dosya türünden sonra üç adet izin grubu görülüyor. Bunlar kullanıcı (sahip), grup ve diğer izin sınıflarıdır. Bu sınıflar tüm Linux dağıtımlarında aynıdır.

Hangi kullanıcıların hangi sınıfa dahil olduğuna bakalım.

  • Kullanıcı: Dosyanın sahibi bu sınıfa dahildir.
  • Grup: Dosyanın grubundaki üyeler bu sınıfa dahildir.
  • Diğer: Kullanıcı veya Grup sınıfına dahil olmayan diğer kullanıcılar bu sınıfa dahildir.

İzin Sembollerinin Anlamı

Her bir izin sınıfında yer alan üçer adet karakterin ne anlama geldiğine bakalım.

  • Okuma: İlk basamaktaki r harfiyle gösterilir.
  • Yazma: İkinci basamaktaki w harfiyle gösterilir.
  • Yazma: Üçüncü basamaktaki x harfiyle gösterilir. Bazı özel durumlarda burada başka bir karakter olabilir.

Bu üç basamakta harf yerine tire işareti (-) varsa, o sınıfa o iznin verilmediğini gösterir. Örneğin, bir dosyanın grup sınıfında code>r-- yazıyorsa o grup için o dosya "yalnız okunabilir" demektir.

Okuma, Yazma ve Çalıştırma

Bir dosyanın sahip olduğu izinleri nasıl göreceğimizi öğrendik. Şimdi bu izinlerin ne anlama geldiğine bakalım. İzinleri tek tek ele alacağız ancak bunların anlamlı bir izinlerin dosya ve klasörlere anlamlı bir erişim oluşturması için genellikle birlikte kullanıldıklarını unutmayalım.

Okuma

Normal bir dosya için okuma izni kullanıcıya dosyanın içeriğini görme hakkı verir.

Klasör için bu hak, klasörün içindeki dosyaların isimlerini görebilmesi demektir.

Yazma

Normal bir dosyada bu izin, kullanıcıya dosyayı değiştirme veya silme hakkı verir.

Klasörde yazma izni, kullanıcıya klasörü silme, içindekileri değiştirme (oluşturma, silme, adını değiştirme) ve kullanıcının okuyabildiği dosyaların içeriğini değiştirme hakkı verir.

Çalıştırma

Normal bir dosyada bu izin, dosyayı (kullanıcının dosyayı okuma izni olması gerekir) çalıştırma hakkı verir. Bu iznin çalıştırılabilir programlar veya kabuk programlar için verilmesi gerekir.

Klasör için çalıştırma izni, kullanıcıya klasöre erişme veya içine girme (cd) ve içindeki dosyaların öz bilgilerini (ls -l komutu ile listelenen bilgiler) görme hakkı verir.

Mode ve İzin Örnekleri

Dosyanın modunu okuyabildiğimize ve verilen izinlerin ne anlama geldiğini bildiğimize göre birkaç yaygın mod örneğine ve bunların açıklamalarına bakabiliriz.

  • -rw-------: Yalnız sahibi tarafından erişilebilir bir dosya.
  • -rwxr-xr-x: Sistemdeki tüm kullanıcılar tarafından çalıştırılabilir bir dosya.
  • -rw-rw-rw-: Sistemdeki tüm kullanıcıların değiştirmesine açık bir dosya.
  • drwxr-xr-x: Sistemdeki tüm kullanıcıların erişebileceği ve okuyabileceği bir klasör.
  • drwxrwx---: Sahibi ve grubu tarafından kendisi ve içindekiler değiştirilebilir bir klasör.
  • drwxr-x---: Grubu tarafından erişilebilir bir klasör.

Farkedeceğiniz gibi dosyanın sahibi diğer iki sınıfa göre daha üstün ve genellikle tüm haklara sahiptir. Diğer iki sınıf (grup ve diğer) sahibinin izinlerinin alt kümesine (eşit veya daha az) sahipler. Bu durum gayet normaldir çünkü kullanıcıların ihtiyaç olduğunda dosyalara erişebilmesine izin verilmelidir.

Bir diğer konu da çok çeşitli izin kombinasyonları mümkün olmasına rağmen yalnız başlıca bazı izinlerin anlamlı olmasıdır. Örneğin, yazma ve çalıştırma izinleri her zaman okuma izniyle birlikte verilir. Erişemediğiniz veya göremediğiniz bir şeyi değiştirmeniz ya da çalıştırmanız mümkün olmaz.

Sahiplik ve İzinlerin Değiştirilmesi

Bu dersi kısa ve basit tutmak için dosyaların sahiplik veya izinlerinin nasıl değiştirileceği konusunu burada anlatmayacağız. İlgili değiştirme komutlarının (chown, chgrp ve chmod) nasıl kullanıldığını öğrenmek için Linux'te İzinlerin Temelleri dersine bakabilirsiniz.

Sonuç

Linux'te sahiplik ve izinlerin nasıl çalıştığını öğrendiniz. Linux'ün temelleri konusunda daha fazla bilgi edinmek isterseniz bu konuda bir sonraki dersi okuyabilirsiniz.

Kaynaklar