Yeni başlayan linux kullanıcılarının kafasını sürekli kurcalayan bir konu da linux dosya izinleri. Yeni dosya indirirsin çalışmaz, yeni css dosyası yaratırsın okumaz, projeyi dosyalayıp tarayıcıdan görmek istersin açmaz. Bunlar olmadığı gibi, linux dosya izinleri aklına da gelmez. Uğraş dur!
Linux dosya izinleri, sistemde yüklü dosyaların erişim izinlerini ayarlamada kullanılıyor. Daha anaşılır olmak gerekirse; senin dosyan, senin kararın! Dosyana kim ulaşsın, kim değştirebilsin, kim dokunamasın, kim göremesin, herşeyi ayarlayabilirsin.
Linux Dosya İzinleri Görüntülemek:
‘ls’ yani listeleme komutu ile, üzerinde bulunduğun dosyanın içeriğini listeleyebiliyoruz. örnek bir kullanım olarak kendi bilgisayarımdaki ‘ /var ‘ yolunun ‘ ls ‘ çıktısı :
(‘sandisk’ bu oturumdaki kullanıcı adım, ‘bozzuk-pc’ de bilgisayar adım. Bunlar senin bilgisayarında farklı olacaktır elbette.)
Şimdi, aynı yola ‘ ls -l ‘ komutu ile bakalım, böylece dosya izinlerini de göreceğiz.
Bu çıktının biraz daha anlam kazanması için öncelikle bazı temel terimleri açıklamam gerekiyor.
İzin Grupları
Owner-> Kelime anlamı sahip olan ower, dosyanın sahibini yani bizi sembolize eder. Burası için yaptığımız sınırlama sadece bizi etkiler, diğer kullanıcıları değil.
Group-> Grup izinleri, bu dosyaya atadığımız atayacağımız grup elemanlarını etkiler. Verdiğimiz izne göre hareketleri şekil alacak.
Others-> Diğer kullanıcılarımız için geçerli olan kurallardır. Admini veya grup üyelerini etkilemez.
İzin türleri
read-> Okuma iznidir. İzni verdiğiniz dosya sadece görüntülenebilir oluyor.
write-> Yazma iznidir. İzin verdiğiniz dosyayı yeni birşeyler ekleyebilir, çıkarabilir kılıyorsunuz.
execute-> Çalıştırma iznidir. Herhangi bir scripti koşma izni olarak düşünebiliriz.
Şimdi, yukarıda verdiğim resim biraz daha anlam kazanmış olmalı. Dosyaların başında gödüğümüz ‘ rwxrwxrwx ‘ benzeri karakterlerin ilk 3 ünün Owner, ortanca 3lünün Group ve son 3 lünün de Others için durduğunu görebiliyoruz. Ayrıca ‘ r w x ‘ harfleri read write execute için durmakta.
d eki directory yani dizin yerini tutmakta.
I eki linkleri göstermektedir.
Bu kelime kullanımlarının yanı sıra, dosya izinlerinin binary karşılıkları da mevcut. Yukarıda tanımladığım harflerin aynı zamanda rakamsal olarak karşılığı mevcut.
r = 4
w = 2
x = 1
Demin de bahsettiğim gibi, dosyaların yapısı 3 grup olarak okunur.
Resimde belirli olduğu üzere, bu 3 gruba atadığımız izinlerin toplam numaraları bu dosyanın izin türünü açık eder. Mesela bir dosyaya 777 verirsek, dosya herkes için okunur yazılır ve çalıştırılır olur.
Dosya izinlerini verirken kullandığımız komut chmod olacak. Chmod komutu sayesinde dosyalara izin atayıp, izinlerini alma, yetki sınırlama işlemlerini yapabiliyoruz.
Linux Dosya İzinleri Örnekleri
Birkaç örnek ile yazımı sonlandırayım.
chmod -R 777 /var/www
Komuttaki -R eki, recursive olarak çalışmasını istediğimiz zaman kullandığımız ektir. Yani kullandığımız dizinin iç dizinlerine, onların da içindeki dizinlere ulaşacak şekilde komutun dönmesinin sağlar. Bu komut ile, /var/www/ dizininin içerisindeki bütün kullanıcılar için, dizindeki ve dizinin alt dizinlerindeki bütün dosyalara tam erişim vermiş olduk. Pek tavsiye etmediğim bir durumdur. 777’yi çok nadir durumlarda kullanın.
chmod 755 /home
Bu komut ile owner’a rwx yetkisi verdik. diğelerine ise rx yetkisi verip, üstüne yazma, modifiye etme yetkisini sağlamadık.
Bu konunun sonuna gelmiş bulunuyorsun, umarım işine yaramıştır. Anlatamadığım biryer olmuşsa lütfen yorum bırak. Aklına takılan biryer olursa da elimden geldiğince cevaplarım, olmadı araştırırım bulurum. Zaman ayırdığın için teşekkürler.