Ana içeriğe geç

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:

  1. Sahip – dosyanın sahibi (genellikle oluşturucu).
  2. Grup – bir grup içindeki kullanıcılar; dosyada paylaşılan izinleri alırlar.
  3. 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ı:

chmod XXX object_name

Örnekler:

  • chmod 755 test.php – sahibi tam rwx haklarına sahip olur, grup ve diğerleri yalnızca okuma ve çalıştırma r-x hakları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:

chmod -R 755 *

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ı:

chmod [category][operation][permissions] object_name

Kategoriler:

  • u – sahibi (user)
  • g – grup
  • o – diğerleri
  • a – 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_directorynew_directory iç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.

  1. Sunucuya bağlanın ve istediğiniz dosya veya dizini seçin.
  2. Sağ‑tıklayın ve bağlam menüsünden File Permissions… seçeneğini seçin.
  3. 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:

username@server:~/my_directory$ ls -l

Belirli bir dosya veya dizinin izinleri (örneğin text.doc veya dir1):

ls -l text.doc
ls -l dir1

Mevcut dizinin tüm iç içe alt dizinlerindeki dosyaların izinleri:

ls -Rl

Not

Yeni oturumun çalıştığını doğrulamadıkça mevcut SSH oturumunuzu kapatmayın. Aksi takdirde sunucuya erişiminizi kaybedebilirsiniz.