Linux Permission (İzin) Sistemi Nedir? chmod ve chown Komutları ile Yetkilendirme

E-posta Hosting Kampanya

Linux, çok kullanıcılı ve çok görevli bir işletim sistemi olduğu için güvenlik büyük önem taşır. Dosya ve dizin erişim izinleri, sistemin güvenliğini sağlamak için belirli kullanıcı ve grupların dosyalara nasıl erişebileceğini ve hangi işlemleri gerçekleştirebileceğini belirler. Linux’ta chmod ve chown gibi komutlar, dosya ve dizin yetkilendirmesi yapmak için kullanılır.

Bu makalede, Linux’ta izin sisteminin nasıl çalıştığını, chmod ve chown komutlarının nasıl kullanıldığını ve sistem güvenliği açısından neden önemli olduğunu detaylı bir şekilde ele alacağız.

Linux Permission (İzin) Sistemi Nedir?

Linux’ta her dosya ve dizin, belirli bir sahiplik ve izin sistemine sahiptir. Bu sistem, kullanıcılar (users), gruplar (groups) ve diğerleri (others) olmak üzere üç ana kategoriye ayrılır.

1. Kullanıcı Kategorileri

  • Owner (Sahip): Dosyayı veya dizini oluşturan kullanıcıdır. Sahip, bu dosya üzerinde geniş yetkilere sahiptir.
  • Group (Grup): Sahibin dahil olduğu kullanıcı grubudur. Grup üyeleri, sahip kadar olmasa da belirli yetkilere sahip olabilir.
  • Others (Diğerleri): Sahip ve gruba ait olmayan tüm diğer kullanıcılardır.

2. İzin Türleri

Linux’ta her dosya ve dizin için üç temel izin türü bulunur:

  • r (read – okuma): Dosyanın içeriğini okuma yetkisi
  • w (write – yazma): Dosyanın içeriğini değiştirme veya dizine yeni dosya ekleme yetkisi
  • x (execute – çalıştırma): Dosyanın çalıştırılabilir bir program olup olmadığına karar veren izin

Bir dosyanın izinleri, ls -l komutu ile görüntülenebilir:

ls -l dosya.txt

Örnek çıktı:

-rw-r--r--  1 kullanici grup  1234 Mar 14 12:00 dosya.txt

Bu çıktıda,

  • rw- sahibin (owner) okuma ve yazma iznine sahip olduğunu,
  • r-- grubun yalnızca okuma iznine sahip olduğunu,
  • r-- diğer kullanıcıların da yalnızca okuma iznine sahip olduğunu gösterir.

chmod Komutu ile İzin Değiştirme

chmod komutu, bir dosya veya dizinin erişim izinlerini değiştirmek için kullanılır. chmod ile izinleri değiştirmek için iki farklı yöntem vardır:

1. Sayısal (Oktal) Yöntem

Linux izinleri, üçlü gruplar halinde 0 ile 7 arasında değişen sayılarla ifade edilir:

  • 4 = Okuma (r)
  • 2 = Yazma (w)
  • 1 = Çalıştırma (x)
  • 0 = İzin yok

İzinler şu şekilde hesaplanır:

İzinlerSayısal Değer
0
–x1
-w-2
-wx3
r–4
r-x5
rw-6
rwx7

Örnek:
Bir dosyaya sahip için tam yetki (rwx = 7), grup için okuma-yazma (rw- = 6), diğerleri için yalnızca okuma (r– = 4) yetkisi vermek için:

chmod 764 dosya.txt

Bu komut, izinleri şu hale getirir: -rwxrw-r--

2. Sembolik (Harf) Yöntemi

Dosya izinlerini kullanıcı kategorilerine göre değiştirmek için u (owner), g (group) ve o (others) sembolleri kullanılır.

Örnek:
Bir dosyaya sahip için çalıştırma yetkisi eklemek:

chmod u+x dosya.txt

Grup için okuma yetkisini kaldırmak:

chmod g-r dosya.txt

chown Komutu ile Sahiplik Değiştirme

chown komutu, bir dosya veya dizinin sahibini değiştirmek için kullanılır.

Temel Kullanım:

chown yeni_sahip dosya.txt

Bu komut, dosyanın sahibini değiştirir.

Grubu Değiştirmek İçin:

chown :yeni_grup dosya.txt

Bu komut, dosyanın yalnızca grup sahipliğini değiştirir.

Sahip ve Grubu Birlikte Değiştirmek İçin:

chown yeni_sahip:yeni_grup dosya.txt

Tüm Dizini ve İçindekileri Kapsayacak Şekilde Değiştirmek İçin:

chown -R yeni_sahip:yeni_grup dizin/

-R parametresi, dizinin içindeki tüm dosya ve alt dizinleri de kapsar.


chmod ve chown ile Güvenlik Önlemleri

Linux sistem güvenliğinde izinler önemli bir rol oynar. İşte dikkat edilmesi gereken bazı noktalar:

  1. 777 İzni Vermeyin: chmod 777 dosya.txt Bu, herkesin dosyayı okuma, yazma ve çalıştırma yetkisine sahip olmasına neden olur, güvenlik açığı oluşturur.
  2. Önemli Dosyalara Yalnızca Sahip Yetki Versin: chmod 600 önemli_dosya.txt Bu, yalnızca dosyanın sahibinin okuma ve yazma yetkisine sahip olmasını sağlar.
  3. Kritik Sistem Dosyalarının Sahipliği Değiştirilmemeli
    Yanlışlıkla /etc/passwd veya /etc/shadow gibi sistem dosyalarının sahipliğini değiştirmek, sistemin çalışmasını bozabilir.

Sonuç

Linux’un izin yönetimi, sistemin güvenliğini ve kullanıcı erişim kontrolünü sağlamak için kritik bir bileşendir. chmod komutu ile dosya ve dizinlerin erişim izinleri düzenlenebilirken, chown komutu ile sahiplik değiştirilebilir. Güçlü bir güvenlik politikası oluşturmak için bu komutların bilinçli bir şekilde kullanılması gerekir.

Eğer bir Linux sunucu yönetiyorsanız, dosya ve dizin izinlerini dikkatlice yapılandırarak güvenliği artırabilirsiniz.