22 Ocak 2008 Salı

Linux Dosya izinleri

Linux da her bir dosyanin bir sahibi bir de grubu bulunur
Kod:
[email protected] ~ $ ls -l
toplam 6744
drwxr-xr-x 10 hakan users 4096 May 9 23:43 3rd_party

r – Read (okuma izni)
w – write (yazma izni)
x – Execute (calistirma izni)

hakan —> dosya sahibi
users —> dosyanin grubu

bunlari uclu gruplar halinde uc gruptan olustugunu varsayarak ayiriyoruz

rwx / r-x / r-x

bu dizilime gore ;
ilk uclu –> dosya sahibi izinlerini
ikinci —-> dosyanin grubunda bulunanlarin izinlerini
ucuncu –> digerlerinin izinlerini gosterir

Simdi benim 3rd_party klasorumun yapisina bakalim
d–> dizin oldugunu gosteriyor
ilk uclu —> rwx (okuma, yazma, calistirma) hepsi ne sahip, yani kim hakan isimli kullanici
ikinci uclu –> r-x (okuma yapar, yazma yapamaz, calistirma yapar) kim bunlar, users grubundakiler
ucuncu uclu –> r-x (okuma yapar, yazma yapamaz, calistirma yapar) digerlerinin iznlerini ifade eder

tum bunlarin ikilik duzende kodlandiklarini dusunursek

421 sistemi –> rwx i olusturur
r = 4
w = 2
x = 1

toplamdaki sayi izinlerin gostergesidir

harhangi bir uclu icin 7 demek = 4 [r] + 2 [w] + 1 [x] yani tum izinlere sahip, peki 6 ne demek bu durumda ?

6 = 4 + 2 + 0 (rw-) okuma yazma izinleri varken calistirma izni yok demek
5 = 4 + 0 + 1 (r-x) okuma ve calistirma var, yazma yok
4 = 4 + 0 + 0 (r–) sadece okuma izni
gibi mantik bu sekilde ilerler

harhangi bir dosya veya klasor un iznini degistirmek icin kullanilan komut chmod tur
bir ornek verelim,
Kod:
[email protected] ~ $ ls -l
toplam 6744
-rw-r–r– 1 hakan users 0 May 10 01:51 adosya


izinlerin su haldeki durumu
ilk uclu = 4+ 2 + 0 = 6
ikinci uclu = 4 + 0 + 0 = 4
ucuncu uclu = 4 + 0 + 0 = 4
yani yanyana yazarsak 644 olur

Ben bu “users” grubundakilere calistirma ve yazma izni verecegim ne yapmam gerekir ?
Ortadaki ucluyu degistirmeliyim, degil mi ? cunku “users” grubunu bu ikinci uclu ifade ediyordu

chmod —> kullanilacak komut
Kod:
[email protected] ~ $ chmod 674 adosya
[email protected] ~ $ ls -l
toplam 6744
-rw-rwxr– 1 hakan users 0 May 10 01:51 adosya


bakiniz ikinci uclu (r–) iken (rwx) haline geldi

simdi yakindan bakalim nolmus ?

ilk grup ayni kaldi 6 idi zaten = 4 + 2 + 0 [6]
ikinci grup 4 idi = 4 + 0 + 0, komutta ikinci sayimiz 7 oldu yani 4 + 2 + 1 dedik [7]
ucuncu grubu degistirmedik 4 idi, 4 olarak biraktik [4]

simdi hepsinden tum izinleri alalim sadece dosya sahibine tum izinleri verelim
Kod:
[email protected] ~ $ chmod 700 adosya
[email protected] ~ $ ls -l
toplam 6744
-rwx—— 1 hakan users 0 May 10 01:51 adosya


gordugunuz uzere sadece “hakan” yani dosya sahibi tum izinlere sahip (7=4 + 2 + 1)

Peki okuma yazma calistirma izinlerini degistirdik, dosyanin sahibini ve grubunu degistirelim

Hali hazirda dosya sahibi “hakan”, grubu ise “users”
Kullanacagimiz komut —-> chown
Kod:
[email protected] ~ $ chown root:muzik adosya
-rwx—— 1 root muzik 0 May 10 01:51 adosya


Simdi dosya sahibi “root”, grubu ise “muzik” oldu nasil sizce de kolay degil mi ?

Not :
Tum dosya izinleri bu kadar degil elbette, digerlerini hazirlik asamasindayim, onlari da bu bolumden takip ediniz

Bu yazı için üstad Hakan Sönmez e teşekkürler. Çok faydalı güzel bir yazı.

0 yorum: