Dosya izin bilgilerini görebilmek için ls komutu, -l
parametresiyle kullanılır. Aşağıdaki dosya üzerindeki erişim haklarına
göz atalım:
-rwxr-xr-x 2 gorkem users 182 Feb 12 03:58 deneme
Dosya bilgisinin en sol kısmında izin hakları yeralır. En baştaki ``-''
işareti bunun düz dosya olduğunu belirtir. ``gorkem'', dosyanın sahibi;
``users'' ise grubudur. Ardından sırayla uzunluk, son değiştirilme tarihi ve
dosya ismi gibi bilgiler gelir. Son harf kümesine dosyanın modu da denir.
Solda yeralan r,w ve x karakterleri sırayla okuma, çalıştırma ve yazma
haklarını belirtir. En soldaki ``-'' işaretini ayırdığımız zaman geri
kalan harfleri üç adet üçlü grup haline getirelim:
Sırayla birinci harf kümesi dosya sahibinin izinlerini, ikinci harf
kümesi grup izinleri ve son küme de diğer kullanıcıların izinlerini
belirtir. Buna göre yukarıdaki dosyada
- rwx
kullanıcı okuyabilir, yazabilir, çalıştırabilir
- r-x
grup okuyabilir, çalıştırabilir fakat yazamaz.
- r-x
diğerleri okuyabilir, çalıştırabilir fakat yazamaz.
Sol baştaki karakter ``d'' olsaydı, bir dizini inceliyor olacaktık.
Dosyanın izinlerini değiştirmek için chmod komutu kullanılır. Bu
komutu kullanırken hangi izin düzeyine (kullanıcı, grup veya diğerleri)
hangi izinlerin verileceği veya kaldırılacağı yazılır.
Örnek olarak yukarıdaki dosyanın okuma iznini kaldırmak için
kullanılabilir. "-" işareti, iznin kaldırılacağını belirtir. İzin vermek
için ise "+" yazın. Dosyanın yeni görüntüsü şöyle olur:
--wx--x--x 2 gorkem users 182 Feb 12 03:58 deneme
Sadece grubun, sadece kullanıcının veya sadece diğerlerinin erişim
hakkını değiştirebilmek için her izin düzeyi için bir harf tanımlanmıştır.
Kullanıcı için "u", grup için "g" ve diğerleri için "o" yazarak belirli
bir izin düzeyi için erişim hakkını değiştirmek mümkün olur. Bu üç harf,
izinden hemen önce yazılır.
$ chmod u+x deneme (dosyanin sahibi calistirabilir)
$ chmod o+r t2sac (digerleri okuyabilir)
$ chmod g-w deneme (dosyanin grubu yazamaz)
Her izin için aynı zamanda sayılar da tanımlanmıştır. Dosyanın erişim
izinlerinideğiştirmek için her izne ait sayıları kullanabilirsiniz.
Aşağıdaki tabloda, her izin düzeyi (dosyanın sahibi, grubu ve diğerleri)
için üçer tane olmak üzere toplam 9 sayıdan oluşan izin numaralarını
görebilirsiniz. Bir izni vermek için sırayla numaraları toplayın.
Örneğin sahibinin okuması (400), yazması (200), çalıştırması (100),
grubun okuması (40), çalıştırması (10) ve diğerlerinin okuması (4)
ve çalıştırması (1) için kullanılan rakamların toplamı 755'tir.
400 sahibi okur
200 sahibi yazar
100 sahibi çalıştırır
040 grubu okur
020 grubu yazar
010 grubu çalıştırır
004 diğerleri okur
002 diğerleri yazar
001 diğerleri çalıştırır
Başka bir değişiklikle konuyu pekiştirelim. Sahibinin okuması (400),
yazması (100), grubun okuması (40), diğerlerinin okuması (4) için izin
numarasını bulmak için bu cümlede parantez içinde yeralan sayıları
toplarsak 644 yapacaktır.
Aynen dosyalarda olduğu gibi, bir dizinin de sahibi ve grubu vardır.