Linux Yetki Tanımlama

Yetkiler isimli yazımda dosya üzerinde ki yetkileri ve diğer ifadelerin ne anlama geldiğinden bahsettim . Bu yazımda  dizin üzerinde chmod komutu yardımı ile yetki verme ,alma gibi işlemlerin nasıl yapılacağından bahsedeceğim.

Chmod ile kullanılan bazı parametreleri açıklayalım.

 

u : Dosya -Dizin sahibi ile ilgili işlemler için kullanılır.

g :  Dosya -Dizin sahibi ile aynı grupta bulunan kullanıcılar için yapılacak işlemlerde kullanılır.

o : Diğer kullanıcılar için yapılacak işlemlerde kullanılır.

a : Herkese açık yapılacak işlemler de kullanılır.

= : Yetki eşitleme işlemlerinde kullanılır.

+ : Yetki   ekleme işlemlerinde kullanılır.

–  : Yetki çıkarma işlemlerinde kullanılır.

Örnekler yaparak pekiştirelim.

İlk olarak dizinimiz içerisine giderek içerisinde bulunan dosyaların yetkilerine ls -l komutu ile  bakalım.

Yukarıda ki dosyalarımızın yetkilerini  okuma ve yetkisini aşağıdaki şekilde alalım fakat bundan önce ufak bir hatırlatma yapalım önceki yazılarımdan hatırlayacağınız üzere ,

W  (write)         : yazma

R    (read)          : okuma

X    (execute )   : çalıştırma

 

anlamına gelmekteydi.

Ufak hatırlatma yaptıktan sonra aşağıdaki komut yardımı ile  yukarıdaki gri olan text dökümanların yetkilerini alalım. Aşağıdaki komutun sonunda yer alan “*” ile o dizin altında bulunan bütün hepsi için yap anlamını taşımaktadır.

 

chmod -wr *

Yetkileri aldıktan sonra tekrar ls -l yaptığımız da görüldüğü gibi yetkilerinin olmadığını görmekteyiz fakat dizinimizin execute(x) yetkisi olduğunu  görmekteyiz. Değiştirmek için aşağıdaki komutu  yazarak değiştirebiliriz.

 

chmod -x postgresqlall

Yukarıda * yerine dosya ismini vererek sadece ilgili dosyanın execute yetkisini alabildiğimizi görmekteyiz.

 

Dosya ve dizinlerin yetkisini aldık şimdi ise nasıl verildiğinden bahsedelim.

chmod +r *

Yukarıda görüldüğü gibi bütün dosya ve dizinlere  okuma yetkisi verdik. Bunu execute ve write yetkisi için de yapabilirsiniz.

Dosyanın sahibi olan frk  kullanıcı için okuma ,yazma, execute yetkilerini  tanımlamak için  yukarıda belirtilen u  parametresini kullanacağız.

chmod u+rwx *

Yukarıda görüldüğü gibi  bütün dizin ve dosyalar için okuma, yazma ve execute yetkisi verilmiştir.

frk grubu içinde bulunan kullanıcılar için yazma vermek için aşağıdaki komutu kullanabilirsiniz.

 

Buraya kadar olanlarda wrx parametrelerini kullanarak  yetki verdik aldık fakat bunları rakamlar yardımı ile de vermek mümkün.

Dosya_Sahibi Grup Yetkisi Diğer Kullanıcılar
Okuma  ( r )            4          4           4
Yazma  ( w )            2          2           2
Execute ( x )            1          1           1

Yukarıdaki komutları kullanarak verdiğimiz yetkileri alalım. Bunun için  chmod -700 yazmamız gerekmektedir fakat bu ne demek?  Açılımı şu şekilde açıklayabiliriz:

r (4)+ w (2)+ x (1)=700

Yukarıdaki gibi read karşılığı olan 4  ,write karşılığı olan 2 ve execute karşılığı olan 1 rakamlarını toplayarak 700 olarak tanımlanmaktadır .

 

Dosya_Sahibi Grup Yetkisi Diğer Kullanıcılar
Okuma  ( r ) 4 4 4
Yazma  ( w ) 2 2 2
Execute ( x ) 1 1 1
TOPLAM 7 0 0

Dosya sahibinin yetkilerini almak için  700 parametresini aşağıdaki gibi kullanacağız.

Yukarıda görüldüğü gibi yetkiler alınmıştır. Hepsinin yetkisi almak isteseydik yani Dosya_Sahibi,Grup Yetkisi  ve Diğer Kullanıcıların yetkisini almak isteseydik aşağıdaki gibi hepsini toplamamız sonucunda 777 gibi sayı çıkmaktadır. Bu sayı ile bütün yetkileri aşağıdaki gibi  alabiliriz.

Yukarıdaki görüldüğü gibi bütün yetkiler alınmıştır.

Dosya_sahibi , gruptaki kullanıcılar ve diğer kullanıcılar için okuma yetkisi verelim.

Yukarıda görüldüğü gibi 444 yazarak hepsi için okuma yetkisi tanımlamış olduk.

Loading