1.                                                

11-) Sıfırdan Temel Linux Eğitimi [Erişim Yetkileri]

'Dökümanlar' forumunda Al-Farabi tarafından 8 Temmuz 2018 tarihinde açılan konu

  1. Al-Farabi

    Al-Farabi Albay

    Katılım:
    16 Ocak 2016
    Mesaj:
    1,349
    Beğeniler:
    128
    Ödül Puanları:
    63

    Erişim Yetkileri
    Linux sistemlerinin yapısı gereği güvenlik açısından dosya ve dizinlere ait birçok kısıtlama ve yetkilendirme ayarları vardır. Bu yetkilerin hepsine sahip olan tek kullanıcı ise root kullanıcısıdır. Bu yüzden sistemi kullanırken eğer root kullanıcısı isek önümüzde uyarıcı bizi kısıtlayıcı bir mekanizma olmayacağından kimi durumlarda yapacağımız değişiklikler sorunlara yol açabilir. Bu yüzden root kullanıcısıyken yapılan işlemlere dikkat etmek gerekir.(Hatta kimi dağıtımlarda root kullanıcı hesabı varsayılan olarak engellenmiştir, ancak istenildiği takdirde ve gereken ayarlar yapıldığında kullanılabilir olur.)

    Bu girizgahtan sonra her kullanıcının kendine verilen yetkiler çerçevesince hareket edebildiğini öğrenmiş olduk. Kullanıcıların dosya veya dizinler ile ilgili yapabileceği üç eylem bulunmaktadır. Bunlar;

    okuma(r): Klasör listesini ve dosya içeriğini görüntüleme.

    yazma(w): Dosya veya klasör üzerinde değişiklik yapma.

    çalıştırma(x): Hedef dosyayı çalıştırma veya klasör içerisine erişme.

    Aslında bu eylemler sizlere yabancı gelmemeli. Zira daha önce chmod komutu yardımı ile gerekli dosyanın iznini değiştirmiş ve dosyamızı çalıştırmayı başarmıştık.

    Şimdi mevcut dosyalarımızın ne tür izinleri barındırdığına göz atalım. Bunun için komut satırına ayrıntılı liste yazdırmak üzere ls -l komutumuzu veriyoruz.

    [​IMG]

    Şimdi listemizi inceleyerek bulunan izinleri ele alalım.

    drwxr-xr-x ve -rw-r--r-- şeklinde gördüğümüz kısımlar dosya izinlerini ifade ediyor.

    Bazı ifadelerin başında olan d harfi o ifadenin dizin olduğunu belirtiyor.

    Geriye kalan kısımları ayrı ayrı açıklayacak olursak - işareti ile ayrılan kısımlar o izine sahip kullanıcı grubunu temsil ediyor. Daha iyi anlamak için d harfi hariç - işaretini ayırdığımız zaman geri kalan harfleri üç adet üçlü grup haline getirelim;

    rwxr-xr-x=rwx r-x r-x

    rw-r--r--=rw- r-- r--

    Sırayla birinci harf kümesi dosya sahibinin izinlerini, ikinci harf kümesi grup izinleri ve son küme de diğer kullanıcıların izinlerini belirtir.

    [​IMG]

    Buna göre yukarıdaki dosyalarda bulunan izinleri açıklayacak olursak;

    r : okuma yetkisi

    w : yazma yetkisi

    x : çalıştırma yetkisi

    rwx : dosyanın sahibi olan kullanıcı okuyabilir, yazabilir, çalıştırabilir.

    r-x : dosya sahibi kullanıcı grubu ile aynı gruba dahil kullanıcılar okuyabilir, çalıştırabilir fakat yazamaz.

    r-x : diğer kullanıcılar okuyabilir, çalıştırabilir fakat yazamaz.
     
    MrX bunu beğendi.
  2. Al-Farabi

    Al-Farabi Albay

    Katılım:
    16 Ocak 2016
    Mesaj:
    1,349
    Beğeniler:
    128
    Ödül Puanları:
    63
    Yetkilerin Değişimi(chmod)
    Erişim yetkisini değiştirme işlemini ancak en yetkili kişi olan root yapabilir. Bu değişim işlemini daha önceden de kullandığımız chmod komutu sayesinde gerçekleştirilir.

    chmod komutunun parametrelerini tanıyarak örnek verme işlemine geçelim.

    u : Dosya-dizinin sahibi

    g : Dosya-dizinin sahibi ile aynı grupta bulunan kullanıcılar

    o : Diğer kullanıcılar

    a : Herkese açık.

    = : Yetki eşitleme

    + : Yetki ekleme

    - : Yetki çıkarma

    Genel parametreleri gördüğümüze göre gelin birkaç örnek yapalım.

    Örnek göstermek adına anlatımı, içerisindeki dosyaların hiç birinde yetkinin bulunmadığı bir klasör üzerinden gerçekleştireceğim.

    İlk olarak klasörde yer alan dosyaların herhangi bir yetkiye sahip olmadıklarını teyit etmek için ayrıntılı çıktı almak üzere ls -lkomutunu kullandık.

    [​IMG]

    Daha sonra klasörde yer alan tüm dosyalara * joker karakteri ile ulaştık ve chmod +w * komutumuzu kullanarak herkese açık olacak şekilde yazma(w) yetkisi verdik.

    [​IMG]

    Aynı grupta bulunan kullanıclar için yine konumumuzda bulunan tüm dosyaları * sayesinde kapsayacak şekilde g+rx *komutumuzu verdik.

    [​IMG]

    Gruptaki kullanıcılara(g), okuma-yazma-çalıştırma yetkisi (rwx), kullanıcıya(u) yazma yetkisi(r), diğer kullanıcılara ise yalnızca çalıştırma yetkisi(x) verdik.

    [​IMG]

    Ve en son yine bulunduğumuz konumdaki tüm dosyaların yetkilerini kaldırdık.

    [​IMG]

    Bu kullanımların dışında yetkilendirme işlemleri daha önceden de rastladığımız ve fark etmeden de olsa kullanmış olduğumuz sayısal şekilde de ifade edilebiliyor.

    Bu durumu yetkilerin sayısal karşılığını vererek anlatmaya devam edelim.

    Yetki kalıplarının sayısal karşılıkları.
    # dosyanın sahibi sahibiyle aynı gruptakiler diğer kullanıcılar
    r 4 4 4
    w 2 2 2
    x 1 1 1
    Yetkilerin sayısal değerlerini kullanarak bir örnek yapalım.

    Örneğin biz sadece dosyanın sahibine bütün yetkileri vermek istiyoruz diyelim. Bunun için ilk başta yetki kalıplarının numara karşılıklarını toplamalıyız. Yani bütün yetkileri vereceğimiz için r=4+w=2 +x=1=toplam sayı 7 etti. Bizler de sadece dosya sahibine bu yetkiyi vermek istediğimizden normalde vereceğimiz chmod rwx- ----- komutumuzu diğer kullanıcılara yetki vermek istemediğimiz için o alanları 0 bırakarak komutu chmod 700 dosya şeklinde veriyoruz. Böylelikle sadece dosyanın sahibi tüm yetkilere sahip olmuş oluyor.

    [​IMG]

    Daha net anlaşılması adına bir örnek daha yapalım. Şimdi de; dosyanın sahibine tüm yetkileri, ortak gruptakilere yalnızca yazma yetkisini, diğer kullanıcılara da sadece okuma yetkisini verelim.

    Dosya sahibi kullanıcıya verilecek tüm yetkiler için r(4)+w(2)+x(1)=7 sayısını kullanacağız.

    Dosya sahibi ile ortak gruptaki kullanıcılar için vereceğimiz yazma yetkisi için yazma(w) karakterinin sayısal karşılığı olan 2sayısını kullanacağız.

    Diğer kullanıcılar için vereceğimiz yalnız okuma yetkisi için ise okuma(r) karakterinin sayısal karşılığı olan 4 sayısını kullanacağız.

    [​IMG]

    Çıktıdan da anlaşılacağı üzere sayısal karşılıklar istediğimiz yetkilendirme işlemini gerçekleştirdi.

    Son bir ayrıntı daha verelim. Eğer verdiğimiz izinlerin o dizinle beraber alt klasörlerinde de etkili olmasını istersek komutumuzu -R parametresi ile birlikte kullanmalıyız.

    Örneğin bulunduğum konumdaki "metin" isimli klasörün erişim yetkilerini listedim. Sonuç olarak hiç bir yetkinin bulunmadığını belirten --------- şeklinde bir çıktı geldi.

    [​IMG]

    Daha sonra "metin" isimli klasörün içerisine girerek oradaki dosya ve dizinlerin erişim izinlerini sorguladım. Sonuç olarak rwxrwxrwx şeklinde bütün yetkilere sahip dosya ve dizinlerin olduğunu gördüm.

    [​IMG]

    Daha sonra bir üst dizine dönerek ekleyeceğim erişim izinlerinin tüm alt dosyalarda da dahil geçerli olması için komutuma ek olarak -R parametresini kulladım ve komutumu chmod -R 422 metin şeklinde yazdım.

    [​IMG]

    Sonuç olarak bütün dosya ve dizinlerde ve alt klasörlede dahil olmak üzere tüm dosyaların vermiş olduğum yetki erişim izinleri 422 ifadesine karşılık gelen; dosya sahibi için okuma(r) , dosya sahibi ile aynı gruptaki kullanıcılar için yazma(w) ve diğer kullanıclar için de yazma(w) yetkisi şeklinde yetkilendirildiğini görmüş oldum.

    Eğer örneklere ve açıklamalara rağmen yine de anlamadıysanız ister konuyu tekrar okuyup kendiniz de alıştırmalar yapın isterseniz de bu konuyu şimdilik geçin ihtiyacınız olduğunda burada olduğunu bilerek tekrar göz atın. Seçim sizlere kalmış.
     
    MrX bunu beğendi.
  3. Al-Farabi

    Al-Farabi Albay

    Katılım:
    16 Ocak 2016
    Mesaj:
    1,349
    Beğeniler:
    128
    Ödül Puanları:
    63
    chattr
    Hepimizin başına mutlaka gelen ve çok can sıkıcı bir durum var. Bu durum yanlışlıkla silinen dosyalar. Her nasıl ve neden olursa olsun eğer önemli gördüğümüz dosyalar varsa bir şekilde silinmeden onları koruma altına almamız mümkün. Bizlere bu koruma imkanını veren komut chattr komutudur. Öyle ki herhangi bir yanlış durumda dosyanın kaybolmasına engel olmak adına root kullanıcısının bile değişiklik yapmasına imkan tanımıyor.

    Komutun kullanımı chattr +i dosya_adı şeklindedir. Hemen bir örnek yapalım.

    [​IMG]Bu tür dosyaları listelemek için lsattr komutu kullanılıyor. Bizde dosyaların durumunu daha sonradan karşılaştırabilmek adına ilk olarak konsola lsattr komutunu verdik.

    test.txt isimli dosyamızı chattr +i test.txt komutu ile koruma altına aldık.

    Daha sonra bunu teyit etmek için lsattr komutunu kullandık.

    Komutumuzun çıktısında görüldüğü gibi dosyamızın sol tarafında izinler kısmında -i şeklinde bir ifade var. İşte bu ifade dosyamızın artık düzenlenemeyecek olduğunun işaretidir. Dosyayı silmeye çalışarak bu durumu teyit ettik.

    Eğer bu işlemi geri almak ve dosyamızı üzerinde değişiklikler yapılabilir hale getirmek istersek chattr -i test.txtkomutumuzu kullanmamız yeterli olacaktır. Örneği aşağıda inceleyebilirsiniz.

    [​IMG]

    Çıktıda da görüldüğü gibi hedef dosyamızın solundaki -i işareti yok olmuş. Dolayısıyla test.txt isimli dosyamızın artık eski halinde dönerek düzenlenebilir forma girmiş olduğunu gördük. Ve dosyamızı silerek bu durumu teyit ettik.

    Dokümantasyon Kaynağı
    [​IMG]
    Her türlü soru, öneri veya görüşleriniz için bana bu adresten geri bildirimde bulunabilirsiniz.

    Videolu eğitimi incelemek için buraya tıklayın.
     
    MrX bunu beğendi.

Bu Sayfayı Paylaş

Share