Dosya İzinleri – Linux

İşletim sistemlerinde dosyalar belli kişiler tarafından erişilebilir yada erişilemez  dosyaların kendilerine ait izinleri yani yetkileri vardır.Dosya izinleri güvenlik açısından çok önemlidir , mesela önemli bilgilerin tutulduğu bir ayar dosyasının izinleri herkes tarafından okunabilir ve yazılabilir olursa herkes bilgilerimize erişebilir yada değiştirebilir.

Ben bu yazıda linux sistemlerde dosya izinlerinin nasıl belirlendiğinden bahsedeceğim. Eğer PHP ile uğraşıyorsanız dosya izinleri ile ilgili sorunlarla karşılaşmışsınızdır. Bilindiği gibi PHP,  en iyi linux sistemlerde çalışır bunun için linux’taki dosya izinleri nedir, nasıl belirlenir bilmemiz gerekir.

Dosya izinleri
Dosya izinleri

Bu resimde bir dosyanın izin bilgilerini gösteriliş şekli gösterilmiştir. İlk baştaki “d” işareti bir dosya olduğunu gösterir , sonraki 3 karakter dosyanın sahibinin , sonraki 3 karakter dosyanın grubunun ve son 3 karakter de geriye kalan kullanıcıların izinlerini gösterir.Şimdi buradaki üçlü karakterleri inceleyelim,bu karakterler “rwx” harflerinden oluşuyor.

r => okuma yetkisini

w => yazma yetkisini

x => çalıştırma yektisni beliritr.

Linuxda bir dizindeki  dosya ve klasöleri listelemek için “ls” komutu kullanılır. ls komutuna “-l” parametresi eklenirse dizindeki tüm dosya ve klasörleri izin bilgileri ile birlikte listeler.

[email protected]:~$ ls -l
toplam 91060
-rw-rw-r--  1 sametatabasch sametatabasch     1182 Tem  7 17:09 alfabe.ktouch.xml
-rw-rw-r--  1 sametatabasch sametatabasch     2422 Haz 23 15:35 alıntılar.ktouch.xml
drwxr-xr-x  2 sametatabasch sametatabasch     4096 May 31 15:34 Belgeler
drwxr-xr-x  2 sametatabasch sametatabasch     4096 Tem 16 04:36 Downloads
-rw-rw-r--  1 sametatabasch sametatabasch      916 Haz  8 15:24 Downloads.pem
drwxr-xr-x  2 sametatabasch sametatabasch     4096 Tem  5 21:10 dwhelper
-rwxr-xr-x  1 sametatabasch sametatabasch      316 Tem 11 13:38 Evernote.desktop
-rw-rw-r--  1 sametatabasch sametatabasch      854 Tem 11 13:38 Evernote.lnk
drwxr-xr-x  2 sametatabasch sametatabasch     4096 May 31 15:34 Genel
-rw-rw-r--  1 sametatabasch sametatabasch 19233136 Nis 25 23:38 libflashplayer.so
drwxr-xr-x  2 sametatabasch sametatabasch     4096 May 31 15:34 Masaüstü

Yukarıda ki örnek konsol çıktısında Belgeler dizinini inceleyelim;

drwxr-xr-x  2 sametatabasch sametatabasch     4096 May 31 15:34 Belgeler

en baştaki  “d” harfi  bir dizin olduğunu  belirtiyor. Ondan sonraki üç  karakter dizin sahibinin yetkilerini  belirtiyor(Burada sametatabasch), rwx yani  okuma yazma  ve  çalıştırma  yetkisine sahip. Sonraki  3 harf dizinin  ait olduğu grubun yetkilerini öğreniyoruz “r-x”  yani  okuma ve çalıştırma izni.Son  3  harf  ise geri kalan herkesin sahip olduğu yetkileri belirtiyor.

Dosya İzinlerini Değiştirmek

Linux da konsol üzerinden doyya izinlerini  değiştirmek için “chmod” komutu kullanılır.

Kullanım: chmod [SEÇENEK]… KİP[,KİP]… DOSYA…
veya:  chmod [SEÇENEK]… SEKİZLİK-KİP DOSYA
veya:  chmod [SEÇENEK]… –reference=REFDOSYA DOSYA…

Belgeler dizininin izinlerini  değiştirmek için şu şekilde bir kod yazmamız gerekiyor :

chmod 700 Belgeler

Bu komuttan sonra ls -l komutunu  vererek sonucu görebiliriz

[email protected]:~$ ls -l
-rw-rw-r--  1 sametatabasch sametatabasch     1182 Tem  7 17:09 alfabe.ktouch.xml
-rw-rw-r--  1 sametatabasch sametatabasch     2422 Haz 23 15:35 alıntılar.ktouch.xml
drwx------  2 sametatabasch sametatabasch     4096 May 31 15:34 Belgeler
-rwxr-xr-x  1 sametatabasch sametatabasch      362 Ağu 14 23:28 Dll-Files Fixer.desktop
drwxr-xr-x  2 sametatabasch sametatabasch     4096 Tem 16 04:36 Downloads
-rw-rw-r--  1 sametatabasch sametatabasch      916 Haz  8 15:24 Downloads.pem
drwxr-xr-x  2 sametatabasch sametatabasch     4096 Tem  5 21:10 dwhelper
-rwxr-xr-x  1 sametatabasch sametatabasch      316 Tem 11 13:38 Evernote.desktop
-rw-rw-r--  1 sametatabasch sametatabasch      854 Tem 11 13:38 Evernote.lnk
drwxr-xr-x  2 sametatabasch sametatabasch     4096 May 31 15:34 Genel

Peki  bu  700 ne anlama  geliyor . 700 sayısındaki her basamak izinlerdeki üçlü  gruplardan birine denk geliyor. Birinci  basamak dosya sahibinin ,ikinci basamak  dosya  grubunun ,üçüncü basamak ise herkesin yetkileri belirtiyor.

Peki  tek  bir sayı  ile 3 karakterlik bir izni nasıl  belirliyoruz ? Şöyle ki r harfi 4 değerine w harfi 2 değerine x harfide 1 değerine sahip yani  sadece okuma izni vereceksek(r–) 4, hem okuma hem çalıştırma izni vereceksek (r-x) 4+1 den 5 ,okuma ve yazma izni vereceksek (rw-) 4+2 den 6 değerini vermeliyiz. Bu durumda 700 dosya sahibine tüm yetkileri vermiş grup ve diğerlerine de hiç yetki  vermemiş oluyoruz.

Filezilla İle Dosya İzinlerini  Düzenleme

Ben konsol  kullanamıyorum bana zor geliyor diyorsanız sitenizdeki  dosyaların izinlerini filezilla programı ile düzenleyebilirsiniz. Bunun için filezilla programı ile hostunuza bağlandıktan sonra(Nasıl bağlanılır ?), sağ  tarafta gözüken dosyalarınıza sağ tıklayıp Dosya izinleri seçeneğine basarak dosya izinlerini görebilir ve değiştirebilirsiniz.

Filezilla dosya izinleri  penceresi
Filezilla dosya izinleri penceresi
Buraya kadar olan kısımda sadece  dosya izinlerini  gördük  buna ek olarak dosyanın sahibinin  ve  dosya  grubunun ne olduğundan bir sonraki yazımda bahsedeceğim.

 

Samet ATABAŞ

Sakarya Üniversitesi Bilgisayar ve Öğretim Teknolojileri Öğretmenliği Mezunu.PHP Developer

Bir Yorum Yazın

This site uses Akismet to reduce spam. Learn how your comment data is processed.