Linux dosya izinleri ve erişim modları

Dosya sahipliği, dosyaları depolamak için güvenli bir yöntem sağlayan Unix’in önemli bir bileşenidir. Unix’teki her dosya aşağıdaki özelliklere sahiptir –

  • Sahip izinleri – Sahibin izinleri , dosyanın sahibinin dosya üzerinde gerçekleştirebileceği eylemleri belirler.
  • Grup izinleri – Grubun izinleri , bir dosyanın ait olduğu grubun üyesi olan bir kullanıcının dosyada hangi işlemleri gerçekleştirebileceğini belirler.
  • Diğer (dünya) izinleri – Başkaları için izinler, diğer tüm kullanıcıların dosya üzerinde gerçekleştirebilecekleri eylemi belirtir.

İzin Göstergeleri
Kullanırken ls -l komutu, aşağıdaki gibi dosya izni ile ilgili çeşitli bilgileri görüntüler –

İzinler üçlü gruplara bölünür ve gruptaki her konum şu sırayla belirli bir izni gösterir: okuma (r), yazma (w), yürütme (x) –

  • İlk üç karakter (2-4) dosyanın sahibinin izinlerini temsil eder. Örneğin, -rwxr-xr– sahibinin okuma (r), yazma (w) ve yürütme (x) iznine sahip olduğunu gösterir.
  • Üç karakterden oluşan ikinci grup (5-7), dosyanın ait olduğu grubun izinlerinden oluşur. Örneğin, -rwxr-xr– grubun okuma (r) ve yürütme (x) iznine sahip olduğunu, ancak yazma izninin olmadığını gösterir.
  • Son üç karakter grubu (8-10) diğer herkes için izinleri temsil eder. Örneğin, -rwxr-xr– var olduğunu gösterir (r) oku sadece izni.

Dosya Erişim Modları
Bir dosyanın izinleri, bir Unix sisteminin güvenliğinde ilk savunma hattıdır. Unix izinlerinin temel yapı taşları, aşağıda açıklanan okuma , yazma ve yürütme izinleridir.

-Read
Dosyanın içeriğini okuma, yani görüntüleme yeteneğini verir.

-Write
Dosyanın içeriğini değiştirme veya kaldırma yeteneğini verir.

-Execute
Yürütme izinlerine sahip kullanıcı bir dosyayı program olarak çalıştırabilir.

Dizin Erişim Modları
Dizin erişim modları, diğer tüm dosyalarla aynı şekilde listelenir ve düzenlenir. Belirtilmesi gereken birkaç farklılık var –

-Read
Bir dizine erişim, kullanıcının içeriği okuyabileceği anlamına gelir. Kullanıcı dizinin içindeki dosya adlarına bakabilir .
-Write
Erişim, kullanıcının dizine dosya ekleyebileceği veya dizinden dosya silebileceği anlamına gelir.

-Execute
Bir dizini yürütmek gerçekten mantıklı değil, bu yüzden bunu bir geçiş izni olarak düşünün.

Ls veya cd komutunu çalıştırmak için kullanıcının bin dizinine yürütme erişimine sahip olması gerekir .


İzinleri Değiştirme
Dosya veya dizin izinlerini değiştirmek için chmod (mod değiştir) komutunu kullanırsınız. Chmod’u kullanmanın iki yolu vardır – sembolik mod ve mutlak mod.
Chmod komutuyla izinleri değiştirmenin ikinci yolunu göstereceğim. Dosya için her izin kümesini belirtmek üzere bir sayı kullanmaktır. Her izne, aşağıdaki tabloda gösterildiği gibi bir değer atanır ve her izin kümesinin toplamı bu küme için bir sayı sağlar.

NumaraSekizli İzin TemsilciliğiRef
0İzin yok
1Yürütme izni-X
2Yazma izni-W-
3Yürütme ve yazma izni: 1 (yürütme) + 2 (yazma) = 3-wx
4Okuma iznir–
5Okuma ve yürütme izni: 4 (okuma) + 1 (yürütme) = 5rx
6Okuma ve yazma izni: 4 (okuma) + 2 (yazma) = 6rw
7Tüm izinler: 4 (okuma) + 2 (yazma) + 1 (yürütme) = 7rwx

İşte testfile kullanarak bir örnek. Test dosyasında ls -1 çalıştırmak dosyanın izinlerinin aşağıdaki gibi olduğunu gösterir –

Daha sonra , yukarıdaki tabloda yer alan her bir örnek chmod komutu test dosyasında çalıştırılır, ardından ls –l gelir , böylece izin değişikliklerini görebilirsiniz –

Sahipleri ve Grupları Değiştirme
Unix’te bir hesap oluştururken, her kullanıcıya bir sahip kimliği ve bir grup kimliği atar . Yukarıda belirtilen tüm izinler ayrıca Sahip ve Gruplara göre atanır.

Dosya sahibini ve dosya grubunu değiştirmek için iki komut mevcuttur:

chown – chown komutu “sahibini değiştir” anlamına gelir ve bir dosyanın sahibini değiştirmek için kullanılır.

chgrp – chgrp komutu “grup değiştir” anlamına gelir ve bir dosya grubunu değiştirmek için kullanılır.

Sahipliği Değiştirme
Chown komutu bir dosyanın sahipliğini değiştirir. Temel sözdizimi aşağıdaki gibidir –

Kullanıcının değeri ya sistemdeki bir kullanıcının adı ya da sistemdeki bir kullanıcının kullanıcı kimliği (uid) olabilir . Aşağıdaki örnek kavramı anlamanıza yardımcı olacaktır –

Belirtilen dosyanın sahibini amrood olarak değiştirir .

NOT – Süper kullanıcı, kök, herhangi bir dosyanın sahipliğini değiştirme yeteneğine sahiptir, ancak normal kullanıcılar yalnızca sahip oldukları dosyaların sahipliğini değiştirebilir.

Grup Sahipliğini Değiştirme
Chgrp komutu bir dosyanın grup sahipliğini değiştirir. Temel sözdizimi aşağıdaki gibidir –

Grubun değeri , sistemdeki bir grubun adı veya sistemdeki bir grubun grup kimliği (GID) olabilir . Aşağıdaki örnek kavramı anlamanıza yardımcı olur –

Verilen dosyanın grubunu özel gruba değiştirir.

Leave A Comment