Skip to content

Instantly share code, notes, and snippets.

@erselbey
Created July 24, 2017 07:24
Show Gist options
  • Save erselbey/0b61153827f6f0f47554a9d56ffb14c8 to your computer and use it in GitHub Desktop.
Save erselbey/0b61153827f6f0f47554a9d56ffb14c8 to your computer and use it in GitHub Desktop.
Linux izin ayarları ve komutları
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment