Linux CHMOD < -- > Linux'da Kullanıcı Haklarının Belirlenmesi


Linux'da Kullanıcı Haklarının Belirlenmesi
NOT: Aşağıdaki komutları herhangi bir unix sistemde çalıştırabilmeniz için kesinlikle root olmanız geremketedir. Kullanıcı iseniz, ve root şifresini biliyorsanız; root olmak için "su -" komutunu kullanabilirsiniz.

Öncelikle bir dizin veya dosya için kimin hangi izninin olduğunu görmek için ls komutuna -l parametresini ekleyerek kullanıyoruz. Şöyle ki :

ls -l /home/irfaN/dokumanlarim

karşıma aşağıdaki gibi bir sonuç çıkıyor : 

d r w x r - - r - - 


şimdi burdaki harflerin açıklamalarını yapalım:

Read Write Execute
| | |
Okuma (r) Yazma (w) Çalıştırma (x)


buradaki harf dizesinin açıklamaları şu şekildedir.

1. Karakter = Tür
2. Karakter = Dosya/dizin sahibinin okuma izni
3. Karakter = Dosya/dizin sahibinin yazma izni
4. Karakter = Dosya/dizin sahibinin çalıştırma izni
5. Karakter = Dosya/dizin grubundaki kullanıcıların okuma izni.
6. Karakter = Dosya/dizin grubundaki kullanıcıların yazma izni.
7. Karakter = Dosya/dizin grubundaki kullanıcıların çalıştırma izni.
8. Karakter = Diğer kullanıcıların okuma izni.
9. Karakter = Diğer kullanıcıların yazma izni.
10. Karakter = Diğer kullanıcıların çalıştırma iznini belirtir.

Dosya Türleri :

Birinci karakter bize dosya türünü belirlediğini söylemiştik. Peki ls -l komutunu kullandınız ve karşınıza birinci karakterde d,c,b,l,s,p gibi harfler çıktı. Bunlar ne manaya geliyor? Şimdi dosya türevlerini açıklayalım:

- : Dosya
d : Dizin
c : Karakter Aygıtı
b : Öbek Aygıtı
l : Bağlantı (Winciler buna kısayol diyor :-) )
s : Soket
p : Fifo


Bir Örnek:

drwxr--r-- dizesinde hangi kişilerin hangi yetkileri bulunmaktadır ?

Çözüm

Birinci karakterimiz "d" olduğuna göre bu bir dizin. Bundan emin olabiliriz. 2,3 ve 4 karakterler bize dizin sahibinin bu dizin üzerindeki yetkilerini gösteriyor. Yani dizin sahibi hem bu dizini görebilir, hem dizine yazabilir, hemde dizini (içindeki bir dosyayı) çalıştırabilir. 

5. 6. ve 7. karakterler bize dizinin sahip olduğu gruptaki kullanıcıların yetkilerini gösteriyor. Gruptaki kullanıcıların sizinde tahmin ettiğiniz gibi sadece Read (r) okuma izni vardır. Yazma (w) ve Çalıştırma (x) izinleri verilmemiştir. 

8.9. ve 10 uncu karakterler bize diğer kullanıcıların izinlerini söylüyor. Diğer kullanıcılarında gruptaki kullanıcılar gibi sadece okuma izni var.


YETKİLENDİRME

İzinleri yönetmek için "chmod" komutunu kullanırız.

CHMOD KULLANIMI : 
u : Sahip (User)
g : Grup (Group)
o : Diğer Kullanıcılar (Other)


Not : Chmod komutunda öncelikle (group) g, (Other) o, (User) u, parametrelerinden birisi gelir. Daha sonra yapacağımız işlemi seçeriz. Bu işlem - ve + işaretleriyle belirtilir. + işareti o gruba istediğimiz izni vermemiz için kullanılır. - işareti ise gruptan veya kullanıcılardan yetki çıkartmak için kullanılır. Daha sonra vermek istediğimiz izin parametrelerinden birisini yazarız. Bunlar r, (Okuma-Read) w, (Yazma-Write) x (Çalıştırma-eXecute) parametreleridir.

Bi kaç tane örnek ile konunun daha iyi anlaşılacağı kanaatindeyim. 

chmod g+r /dizin/XXXX.xxx (XXXX = Dosya veya Dizin) = Gruba okuma izni verir

chmod o+w /dizin/XXX.xxx (XXXX= Dosya veya Dizin) = Diğer kullanıcılara yazma izni verir.

Bu işlemleri çoğul olarakta yapabiliriz. Örneğin hem grubdan hem de diğer kullanıcılardan okuma ve yazma yetkisini çıkartalım.

chmod go-rw /dizin/XXXXX.xxx 

Galiba anlaşılmıştır, istersek tüm parametreleri de bir anda kullanabiliriz.

Örnek:

chmod gou+rwx /dizin/XXXX.xxx 

komutu ile tüm kullanıcılara okuma, yazma ve çalıştırma iznini vermiş oluyoruz. 

NOT: Bir dizin altındaki tüm dosya ve altdizinlerin yetkilerini değiştirmek için -R parametresi kullanılır. 

Örnek : chmod -R g-w /dizin/2.dizin şeklinde kullanılır.


Bu anlattıklarımızla ilgili olarak 2 tane daha komutumuz var. Bu komutlar "chown" ve "chgrp" komutlarıdır. "chown" komutu bir dosyanın veya dizinin sahipliğini değiştirir. "chgrp" komutu ise bir dosyanın veya dizinin grubunu değiştirir. Bu iki komutun kullanımını da aşağıda örnek olarak veriyorum. 

#chown irfaN /dizin/dosya --> bu komutla root "dosya" isimli dosyayı irfaN kullanıcısına vermiş olur.

#chgrp users /dizin/baska/dizin/dosya --> bu komutla root chgrp komutuyla "dosya" nın grubunu users olarak değiştirmiş olur.

Yorumlar