Linux’ta dosya ve kullanıcı izinleri

Emre Eroğlu
2 min readDec 25, 2022

Linux ta dosyalari listelediğimizde yanında izinleri gösteren sayılar görürüz. Şimdi bu sayıların ne manaya geldiğine bakalım:

1 Çalıştırabilir.
2 Yazabilir.
4 Okuyabilir.

Şeklinde temelde 3 izinvar. Bunların toplamlarındanda diğer izinler elde ediliyor:

3 (1+2) Çalıştırabilir ve yazabilir.
6 (2+4) Yazabilir ve okuyabilir.
7 (1+2+4) Çalıştırabilir, yazabilir ve okuyabilir.

Buraya kadar anlattıklarım 704 ün ne manaya geldiğini açıklamıyor tabi. 704’te 3 ayrı izin görüyoruz. 7–0–4 bunlarıda açıklamak istersek:

ABC şeklinde düşünelim.

A Dosyanın sahibinin yetkilerini,
B Dosyanın sahibinin içinde bulunduğu grubun yetkilerini,
C Dosya sahibinin içinde bulunduğu gruptan olmayanların yetkilerini gösteriyor.

Yani 704 şeklindeki bir izinde;

– Dosya sahibi dosyayı çalıştırabilir, yazabilir ve okuyabilir,

– Sahibinin grubu hiç birşey yapma yetkisine sahip değildir,

– Sahibinin grubunda bulunmayanlarda sadece çalıştırabilir ve okuyabilirler demek.

Dosya izinlerini komut satırında uygulamak istersek:

chmod 704 dosya.adi

Şeklinde kullanırız.

Eğer bu işlemi yapmaya yetkili değilsek, yani dosyanın sahibi yada yetkili kullanıcı değilsek, sistem bu işlemi yapmamıza izin vermeyecektir. Bu durumda dosyanın sahibini değiştirmemiz gerekir. Bunun içinde yetkili kullanıcı olarak (root) şu komutu kullanırız:

chown username:group file

Örneğin :

chown them:them dosya.adi

Gerek dosya izinlerinde gerekse dosya sahipliklerinde dikkat etmemiz gereken önemli bir nokta var, eğer müdahale ettiğimiz dosya bizim kendi oluşturduğumuz bir dosya değilse özelliklede sistem dosyasıysa sistemimizde herşeyin yolunda gittiğinden emin olabilmek adına ne yaptığımızı iyi bilerek dosya iznini-sahipliğini değiştirmemiz gerekir, kafamıza göre 777 izni verip herkesi herşeye yetkili yapmak yada 700 vererek benden başka kimse birşey yapamasın demek sisteminizin çalışmasında sorunlara yol açabilir ve erişim yetkilerinden dolayı sistem — veri güvenliğinizi de etkileyebilir.

Dosya sahibini ve şu andaki yetkileri kontrol edebilmek için vereceğimiz komut:

İçinde bulunduğumuz dizin için bakıyorsak:

ls -ld

Yada dışından-dosyalar için isim vererek:

ls -ld dosya.adi
ls-ld klasöradi

Şeklinde olabilir.

Bu komutun çıktısında

drwxr-xr-x 18 them them 12288 Jul 26 17:40

Şeklinde bir sonuç alıyoruz.

Bu çıktıyı yorumlamak istersek :

Önce izinlerle ilgili bölümü açıklıyorum.

“d”, directory’nin kısaltmasıdır, çalıştığımız dosya sistemi nesnesinin dizin olup olmadığını gösterir,

“r”, read’in kısaltmasıdır okuma iznini gösterir,

“w”, write’ın kısaltmasıdır yazma iznini gösterir,

“x”, executable’ın kısaltmasıdır çalışma iznini gösterir.

İlk başta gördüğümüz d dizinde çalıştığımızı, daha sonra gördüklerimiz ise az önce anlattığım sırayla dosya izinlerini gösteriyor,d den sonraki ilk üçlü “rwx” sahibinin dosya üzerinde tam yetki sahibi olduğunu, sonraki üçlü “r-x” grubun yazma ve çalıştırma yetkisinin olduğunu ama okuyamadığını, en son üçlü r-x te grubundan olmayanlarında grubuyla aynı yetkiye sahip olduğunu gösteriyor.

2. sutundaki 18 dosya sistemi nesnesinin sahip olduğu linkleri,

3. sutundaki them sahibini,

4. sutundaki them grubunu,

5. 12288 byte cinsinden boyutunu,

ve 6. sutundaki tarihte son erişim zamanını gösteriyor.

Dosya ve kullanıcı izinlerinin en basit hali ile anlatmaya çalıştım. Görüşmek üzere.

--

--