Selamlar arkadaşlar bu makalemde sizlere Linux üzerinde Yetkilendirme işlemlerini anlatacağım.
Linuxde yapılan yetkilendirme modelini UNIX ve BSD‘den alınmıştır.
Listeleme yaparken yetkilendirmeyi gösteren (-l ya da ll) parametrelerle yapmanız gerekmektedir. Bu şekilde yapmanız durumunda drwxr-xr-x şeklinde dosyanın haklarını gösteren alanda gelecektir. Bu haklar alanı 3 kısımdan oluşmaktadır.
-rwx r-x r-x
İlk kısmında hemen başında bulunan tek bir simgeyle dosya türünü ifade eder. Yukarıda verilen örnek gibi – (tire) işareti ise normal dosyadır.
İlk dizinde
olabilen diğer simgeler ise
aşağıdaki gibidir.
d = Directory (Dizin)
l = Symbolic link (Sembolik Link)
c = Character Special Device
(Karakter Aygıtı)
b = Block Special Device (Blok
Aygıtı)
p = Fifo
s = Socket
Daha sonraki alanlar ise ilk kısımda Dosya Sahibinin haklarını, İkinci kısımda Grup kullanıcılarının haklarını ve son kısımda ise Diğer kullanıcılara ait hakları belirlemektedir.
r = Okuma
İzni (4)
w = Yazma İzni (2)
x = Çalıştırma İzni (1)
Örneğin = 754 modu Dosya Sahibi için 7 (4+2+1,rwx), Grup için 5 (4+1,r-x) ve diğer kullanıcılar için ise 4 (4,r–) haklarına sahiptir.
Yetkileri Değiştirme :
İlk olarak dosyamızın haklarını görmek için
> ls -al dosya.txt
kodu yardımıyla görebiliriz. Dosyamızın yetkilerini değiştirirken CHMOD kodunu kullanırız.
> chmod 755 dosya.txt
Bu sayede dosyamıza geçerli izinlerini değiştirebiliriz.
Dosyalarınız haklarını
harfler ile de değiştirebilirsiniz. u ile User, g ile Group ve o ile Other olacak
şekilde harfleri kullanabilirsiniz. +
ifadesinden sonra rwx olarak
izinleri belirleyebilirsiniz.
> chmod g+rwx dosya2.txt
kodu yardımıyla izinleri düzenleyebilirsiniz.
> chmod +r dosya2.txt
Herkes için okuma hakkı vermek için bu şekilde kullanabilirsiniz.
> chmod g+x,o+x dosya2.txt
Group ve Other kullanıcılarına çalıştırma
hakkı vermek için örnek kodu kullanabilirsiniz.
CHOWN
Bir Dosya ya da Dizinde tanımlı bulunan Dosya veya Dizin sahibi parametrelerini değiştirir. Bu işlemleri yapabilmemiz için kişinin /etc/passwd dosyasında, Kullanıcı Kimliği (User ID) veya Bağlantı İsmi (Login Name) olarak kayıtlı bulunmalıdır. Aynı şekilde Dosya ve Dizin grup parametreside /etc/group dosyasında, Grup Kimliği (Group ID) veya Grup İsmi (Group Name) olarak kayıtlı bulunmak zorundadır. Bir dosyanın sahipliğini ancak Kök (ROOT) kullanıcı değiştirebilmektedir.
CHOWN komutu Windowstaki dosya sahipliğini değiştirme ile benzer özellikleri vardır. Sunucularınız içerisinde bulunan bir sitenin dosya sahibi apache ya da root olarak gözüküyorsa bu dosya üzerinde site sahibinin yazma gibi işlemleri yapamayacaktır. İşlemleri yapabiliyor olması için sahipliği değiştirilmelidir.
> chown -R semih dosya.txt
// Kodu yardımıyla dosya.txt‘nin
sahibini root‘dan semih olacak şekilde güncellendi.
Kullanımı :
chown -R [YetkiVerilecekKullanıcı]
[Yol/Dosya]
-R = Dizinler arasında gezer ve her dosyanın sahipliğini değiştirir.
CHGRP
Sadece Dosya ve Dizinlerin Grubunu değiştirmek için kullanılır. -R parametresini burada da kullanabilirsiniz.
> chgrp semih dosya.txt
//Komutu yardımıyla dosya.txt dosyasının
group bilgisi semih olarak değiştirildi.
Bir sonraki makalemde görüşmek üzere kolaylıklar dilerim.