Kullanıcı Erişim İzinlerini Yönetme¶
Bu makalede
Izinler: Türleri¶
Linux, dosyalar ve dizinlerle kimlerin ve nasıl etkileşime girebileceğini kontrol etmeye yardımcı olan esnek bir izin sistemine sahiptir. Bu, sistem güvenliğini büyük ölçüde artırır.
Yalnızca süper kullanıcı root, tüm sistem üzerinde tam kontrol sahibidir; bu nedenle root ile günlük görevleri yürütmek riskli kabul edilir: herhangi bir hata ciddi hasara yol açabilir. Normal kullanıcılar, varsayılan olarak yalnızca kendi ev dizinlerinde çalışabilir ve sistem dosyalarına erişemez, bu da kazara veya kötü niyetli değişiklikleri önler.
Her dosya veya dizin için üç tür izin tanımlanır:
- r (read) – okuma,
- w (write) – yazma (içeriği değiştirme),
- x (execute) – çalıştırma (dosyalar için) veya girme (dizinler için).
Bu izinler üç kullanıcı kategorisine uygulanır:
- Sahip – dosyanın sahibi (genellikle oluşturucu).
- Grup – bir grup içindeki kullanıcılar; dosyada paylaşılan izinleri alırlar.
- Diğerleri – ilk iki kategoride olmayan tüm kullanıcılar.
Her kategori kendi bağımsız izin setine sahip olabilir.
İzinler iki şekilde ifade edilir:
- Alfanümerik format: örn.,
rwxr-xr--. - Sayısal format: her izin bir sayı olarak kodlanır (okuma = 4, yazma = 2, çalıştırma = 1) ve toplam son değeri verir.
Örneğin,7=4+2+1=rwx.
Sayısal değer sahip, grup, diğerleri sırasına göre yazılır.
Dolayısıyla, 755 rwxr-xr-x şu anlama gelir:
- Sahip okuma, yazma ve çalıştırma (veya dizine girme) yetkisine sahiptir.
- Diğer herkes okuma ve çalıştırma (veya dizin içeriğini görme ve girme) yetkisine sahiptir.
Tipik izin örnekleri:
- 600
rw-------– yalnızca sahibi dosyayı okuyabilir ve düzenleyebilir. - 644
rw-r--r--– sahibi düzenler; diğerleri yalnızca okur. - 700
rwx------– yalnızca sahibi tam erişime sahiptir. - 755
rwxr-xr-x– sahibi her şeyi yapabilir; diğerleri yalnızca görüntüleyip (dosyaları çalıştırıp veya dizinlere girerek) kullanabilir.
Not
Dizin izinlerine özel dikkat gösterin: bir kullanıcıya yalnızca dosya listesi değil, aynı zamanda özelliklerini (örneğin boyut veya sahibi) de görmesini sağlamak için en az okuma + çalıştırma r-x (yani 5) gerekir. Yalnızca okuma r-- dosya adlarını görmelerini sağlar, ancak özellikleri göremezler ve x olmadan dizine bile cd edemezler.
Izinleri Yapılandırma¶
İzinleri SSH ile Yapılandırma¶
Linux'ta dosya ve dizin izinleri chmod komutu ile yönetilir. Kullanımının iki ana yolu vardır.
Yöntem 1: Sayısal (Mutlak) Mod¶
Bu yöntemde, tüm üç kullanıcı kategorisi — sahibi, grup ve diğerleri — için izinlerin tam setini üç haneli bir sayı kullanarak hemen ayarlarsınız.
Komut formatı:
Örnekler:
chmod 755 test.php– sahibi tamrwxhaklarına sahip olur, grup ve diğerleri yalnızca okuma ve çalıştırmar-xhaklarına sahip olur.chmod 644 test.php– sahibi okuma ve düzenleme yetkisine sahip olur; diğerleri yalnızca okuma yetkisine sahip olur.chmod 755 dir– dizin için benzer haklar.
Tüm dosyalar ve alt dizinler üzerinde izinleri yeniden (recursive) uygulamak için -R bayrağını kullanın:
Not
-R ile dikkatli olun — komut dizinin tüm içeriği üzerindeki izinleri değiştirir, iç içe klasörleri ve dosyaları da içerir.
Yöntem 2: Sembolik (Göreli) Mod¶
Burada, izinlerin yalnızca gerekli kısmını değiştirir, geri kalanını dokunmazsınız. Bu, küçük ayarlamalar için kullanışlıdır.
Komut formatı:
Kategoriler:
u– sahibi (user)g– grupo– diğerleria– tümü
İşlemler:
+– izin ekle-– izin kaldır=– tam değer ayarla (diğerlerini kaldırır)
İzinler r, w, x olarak belirtilir (örneğin rx, r-x değil).
Örnekler:
chmod g+rx test.php– grup dosyayı okuyup çalıştırabilir.chmod g-w test.php– grup yazma erişimini engeller.chmod o-rw test.php– diğerlerinden okuma ve yazma izinleri kaldırılır.chmod go+rx dir1– grup ve diğerleri dizini görebilir ve girebilir.chmod -R go+r new_directory–new_directoryiçindeki tüm dosya ve dizinleri grup ve diğerleri için okuma izni verir.
Bu yöntem, mevcut izinleri rahatsız etmeden daha esnek ve güvenli bir şekilde değişiklik yapmanızı sağlar.
FTP İstemcisiyle İzinleri Yapılandırma¶
İzinleri değiştirmek ve ayarlamak, bir FTP istemcisiyle de çok uygundur. Ücretsiz FileZilla istemcisini kullanarak süreci adım adım inceleyelim.
- Sunucuya bağlanın ve istediğiniz dosya veya dizini seçin.
- Sağ‑tıklayın ve bağlam menüsünden File Permissions… seçeneğini seçin.
- Gerekli izinleri ayarlayın.
Mevcut Izinleri Görüntüleme¶
Atanan izinleri görüntülemek için ls komutunu kullanın.
Mevcut dizindeki dosyaların izinleri:
Belirli bir dosya veya dizinin izinleri (örneğin text.doc veya dir1):
Mevcut dizinin tüm iç içe alt dizinlerindeki dosyaların izinleri:
Not
Yeni oturumun çalıştığını doğrulamadıkça mevcut SSH oturumunuzu kapatmayın. Aksi takdirde sunucuya erişiminizi kaybedebilirsiniz.