Linux'da Kullanıcı Haklarının Belirlenmesi
NOT:
Aşağıdaki komutları herhangi bir Lunix sistemde çalıştırabilmeniz için kesinlikle root olmanız gerekmektedir. Kullanıcı iseniz, ve root şifresini biliyorsanız; root olmak için
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.
ÖRNEK :
Kod: Tümünü seç
ls -l /home/trwe2012/web/yazılımadası.html
karşımıza 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)
d r w x r - - r - -
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 : Sembolik Bağlantı (Windows'da buna kısayol denilmekte)
s : Soket
p : Fifo
ÖRNEK :
drwxr--r-- dizesinde hangi kişilerin hangi yetkileri bulunmaktadır ?
CEVAP :
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.
BiR kaç tane örnek ile konunun daha iyi anlaşılacağı kanaatindeyim.
(XXXX = Dosya veya Dizin) = Gruba okuma izni verir
(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.
Galiba anlaşılmıştır, istersek tüm parametreleri de bir anda kullanabiliriz.
Örnek:
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 :
ş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.
--> bu komutla root "dosya" isimli dosyayı trwe2012 kullanıcısına vermiş olur.
Kod: Tümünü seç
#chgrp users /dizin/baska/dizin/dosya
--> bu komutla root chgrp komutuyla "dosya" nın grubunu users olarak değiştirmiş olur.