Linux dosya izinleri nedir?

Linux dosya izinleri, bir dosya veya dizini kimin okuyabileceğini, yazabileceğini ya da çalıştırabileceğini kontrol eder. Linux'taki her dosyanın üç izin grubu vardır: sahip (dosyayı oluşturan kullanıcı), grup (ortak bir grubu paylaşan kullanıcılar) ve diğerleri (diğer herkes). Her gruba üç tür erişim verilebilir: okuma (r), yazma (w) ve çalıştırma (x).

İzinler iki gösterim biçimiyle ifade edilebilir. Sembolik gösterim, rwxr-xr-x gibi harfler kullanır; her karakter, belirli bir grup için belirli bir izni temsil eder. Sekizlik (sayısal) gösterim, 755 gibi üç veya dört basamaklı bir sayı kullanır; her basamak, izin değerlerinin toplamıdır: okuma = 4, yazma = 2, çalıştırma = 1.

Sekizlik gösterimdeki isteğe bağlı baştaki basamak özel bitleri temsil eder: setuid (4), setgid (2) ve sticky bit (1). Setuid, bir programın dosya sahibinin ayrıcalıklarıyla çalışmasına olanak tanır; setgid, yeni dosyaların üst dizinin grubunu devralmasını sağlar; sticky bit ise paylaşılan dizinlerde kullanıcıların sahip olmadıkları dosyaları silmesini engeller.

Araç açıklaması

Bu araç, Linux dosya izinlerini etkileşimli olarak oluşturmanıza ve çözümlemenize olanak tanır. Okuma, yazma ve çalıştırma bayraklarını ayarlamak için sahip, grup ve diğerleri onay kutularını açıp kapatın; sonucu hem sekizlik hem de sembolik gösterimde anında görün. Ayrıca doğrudan 755 gibi bir sekizlik değer veya rwxr-xr-x gibi sembolik bir string yazabilirsiniz; onay kutuları ve görsel çıktı otomatik olarak güncellenir. Renk kodlu görsel ekran, hangi izinlerin aktif olduğunu bir bakışta anlamayı kolaylaştırır ve kullanıma hazır bir chmod komutu sizin için otomatik olarak oluşturulur.

Örnekler

Sekizlik Sembolik Anlam
755 -rwxr-xr-x Sahip: tam erişim. Grup ve diğerleri: okuma ve çalıştırma.
644 -rw-r--r-- Sahip: okuma ve yazma. Grup ve diğerleri: yalnızca okuma.
700 -rwx------ Sahip: tam erişim. Grup ve diğerleri için erişim yok.
777 -rwxrwxrwx Herkes için tam erişim.
1755 -rwxr-xr-t 755 ile aynı, sticky bit ayarlı.
4755 -rwsr-xr-x 755 ile aynı, setuid biti ayarlı.

Özellikler

  • Her grup için okuma, yazma ve çalıştırma izinlerini onay kutularıyla ayrı ayrı açıp kapatma
  • Sekizlik (ör. 755) veya sembolik (ör. rwxr-xr-x) gösterimi doğrudan girin ve anında dönüşümü görün
  • Aktif izinlerin hızlı tanınması için renk kodlu görsel bloklar
  • Özel izin bitleri desteği: setuid, setgid ve sticky bit
  • Terminalde kopyalayıp kullanmaya hazır otomatik oluşturulmuş chmod komutu

Kullanım senaryoları

  • Web sunucusu kurulumu: Apache veya Nginx tarafından sunulan dosyalar için doğru izin kümesini hızlıca belirleyin; statik dosyalar için 644, çalıştırılabilir scriptler için 755 gibi.
  • Erişim reddedildi hatalarını ayıklama: Hangi grubun erişiminin eksik olduğunu görsel olarak anlamak için ls -l çıktısındaki izin stringini yapıştırın.
  • Linux izinlerini öğrenme: Tek tek bayrakları açıp kapatmanın sekizlik ve sembolik gösterimleri nasıl değiştirdiğini etkileşimli olarak keşfedin.

Nasıl çalışır

Her izin türünün sayısal bir ağırlığı vardır: okuma = 4, yazma = 2, çalıştırma = 1. Bir grup için sekizlik basamak, etkin izin ağırlıklarının toplamıdır. Örneğin, okuma + çalıştırma = 4 + 1 = 5. Tam sekizlik gösterim, sahip, grup ve diğerleri için basamakları birleştirir; böylece rwxr-xr-x, 755 olur.

Özel bitler, aynı şekilde hesaplanan isteğe bağlı bir baştaki basamak ekler: setuid = 4, setgid = 2, sticky = 1. 1755 değeri, sticky bit (1) artı sahip=7, grup=5, diğerleri=5 anlamına gelir.

Seçeneklerin açıklaması

  • Sahip / Grup / Diğerleri onay kutuları: Her izin grubu için okuma (r), yazma (w) ve çalıştırma (x) izinlerini bağımsız olarak açıp kapatın.
  • Setuid: Çalıştırılabilir bir dosyada ayarlandığında, çağıran kullanıcının değil dosya sahibinin ayrıcalıklarıyla çalışır.
  • Setgid: Bir dizinde, yeni dosyalar dizinin grubunu devralır. Çalıştırılabilir bir dosyada, dosya grubunun ayrıcalıklarıyla çalışır.
  • Sticky bit: Bir dizinde, yalnızca dosya sahibi içindeki dosyaları silebilir veya yeniden adlandırabilir; diğerlerinin yazma izni olsa bile.
  • Sekizlik giriş: Tüm izinleri aynı anda ayarlamak için 3 veya 4 basamaklı bir sekizlik sayı yazın.
  • Sembolik giriş: İzinleri ayarlamak için isteğe bağlı dosya türü önekiyle birlikte 9 veya 10 karakterlik sembolik bir string yazın.

SSS

chmod 777 ne anlama gelir? Sahibe, gruba ve diğer tüm kullanıcılara okuma, yazma ve çalıştırma izinleri verir. Bu, üretim sistemleri için genellikle güvensizdir.

Küçük harf s ile büyük harf S arasındaki fark nedir? Küçük harf s, çalıştırma bitinin ve özel bitin (setuid veya setgid) her ikisinin de ayarlı olduğu anlamına gelir. Büyük harf S, yalnızca özel bitin ayarlı olduğunu, çalıştırma izninin ise bulunmadığını gösterir.

Sticky bit ne için kullanılır? Sticky bit, genellikle /tmp gibi paylaşılan dizinlerde ayarlanır; bu sayede kullanıcılar, dizine yazma erişimleri olsa bile birbirlerinin dosyalarını silemez veya yeniden adlandıramaz.