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
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
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.