Herkese selamlar bu yazımda oldukça sık karşılaştığımız linux terminallerde ve web panellerde olan dosya izinleri hakkında bilgi vererek örnek kullanımları bakalım.
Unix/Linux dosya izinleri Nedir
Unix/Linux dosya izinleri, bir dosyayı veya dizini kimin okuyabileceğini, yazabileceğini ve yürütebileceğini belirleyen bir dizi erişim hakkıdır. Bu izinler, bir Unix/Linux dosya sisteminin güvenliğini ve bütünlüğünü korumak için gereklidir.
Unix/Linux dosya izinleri, üç izin grubunun birleşimiyle temsil edilir: okuma, yazma ve yürütme. Her grup üç farklı kullanıcı türüne atanabilir: dosyanın veya dizinin sahibi, sahibin ait olduğu grup ve diğer tüm kullanıcılar.
Okuma izni, kullanıcının bir dosyanın veya dizinin içeriğini görmesine izin verir, yazma izni, kullanıcının bir dosyanın veya dizinin içeriğini değiştirmesine izin verir ve yürütme izni, kullanıcının bir dosyayı yürütmesine veya bir dizinin içeriğine erişmesine izin verir.
Dosya izinleri, her bir basamağın farklı bir izin kümesini temsil ettiği 3 basamaklı bir kod olarak temsil edilir. İlk basamak dosya sahibinin izinlerini, ikinci basamak grup izinlerini ve üçüncü basamak diğer tüm kullanıcıların izinlerini temsil eder.
Her rakam 0 ile 7 arasında bir sayı ile temsil edilebilir, Örnekle:
0, hiçbir izni temsil etmez (—)
1, yalnızca yürütmeyi temsil eder (–x)
2 salt okunuru temsil eder (-w-)
3, yazmayı ve yürütmeyi temsil eder (-wx)
4 salt okunuru temsil eder (r–)
5, okumayı ve yürütmeyi temsil eder (r-x)
6 okuma ve yazmayı temsil eder (rw-)
7 okuma, yazma ve yürütmeyi (rwx) temsil eder
Örneğin, 755 izinlerine sahip bir dosya aşağıdaki izinlere sahip olacaktır:
Dosyanın sahibi dosyayı okuyabilir, yazabilir ve çalıştırabilir (7 = rwx)
Grup dosyayı okuyabilir ve çalıştırabilir (5 = r-x)
Diğer tüm kullanıcılar dosyayı okuyabilir ve çalıştırabilir (5 = r-x)
Dosya izinleri, Unix/Linux terminalindeki chmod komutu kullanılarak değiştirilebilir.
Her dosyanın kendisiyle etkileşimde bulunabilecek üç kullanıcı türü vardır:
Tür | Açıklama |
owner (sahip) | Bir dosya / dizini yaratan ve sahibi olan kullanıcı. |
group (grup) | Aynı grubun üyeleri olan tüm kullanıcılar. |
others (diğerleri) | Bir grobun üyeleri veya sahibi olmayan, geriye kalan tüm kullanıcılar. |
ls komutu, dosya izinlerini ve sahiplerini görüntülemek için kullanılabilir. Örneğin, ls dalnet şunu gösterir:
drwxr-xr-x 2 root root 4096 Mar 2 15:48 dalnet/
ÖRNEK
İlk olarak 755 iznine sahip bir dosyayı nasıl 777 yapabiliriz bakalım,
Terminal ekranında aşağıdaki komutu uygulayalım,
chmod 0777 dalnet
bu komutla birlikte rwxrwxrwx 0777 iznini vermiş oluyoruz.
En Çok Kullanılan Dosya İzinleri
Sayısal Mod | İzinler | Özel Nitelikler | Kullanıcı İzinleri | Grup İzinleri | Diğer kullanıcılar İzinler |
0777 | rwxrwxrwx | Hiçbiri | oku & yaz & çalıştır | oku & yaz & çalıştır | oku & yaz & çalıştır |
0770 | rwxrwx— | Hiçbiri | oku & yaz & çalıştır | oku & yaz & çalıştır | erişim yok |
0755 | rwxr-xr-x | Hiçbiri | oku & yaz & çalıştır | oku ve uygula | oku ve uygula |
0750 | rwxrwx— | Hiçbiri | oku & yaz & çalıştır | oku ve uygula | erişim yok |
0700 | rwx—— | Hiçbiri | oku & yaz & çalıştır | erişim yok | erişim yok |
0644 | rw-r–r– | Hiçbiri | okuma yazma | Sadece oku | Sadece oku |
0640 | rw-r—– | Hiçbiri | okuma yazma | Sadece oku | erişim yok |
0000 | ——— | Hiçbiri | erişim yok | erişim yok | erişim yok |