15%

Tüm Hosting Hizmetlerinde %15 indirim

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın:

Skills
Başlayın
16.08.2025

Linux’ta Dosya İzinlerini Kontrol Etme: Tam Bir Rehber

Linux, dünyanın sunucularının çoğunu güçlendirir — VPS Hosting ortamlarından kurumsal düzeyde Dedicated Servers‘a kadar — ve bunun iyi nedenleri vardır. Hızlı, kararlı ve güvenlik merkezli olarak inşa edilmiştir. Bu güvenliğin en temel taşlarından biri dosya izin sistemidir: sistemdeki herhangi bir dosya veya dizine kimin okuyabileceğini, değiştirebileceğini veya çalıştırabileceğini tam olarak kontrol eden hassas ve zarif bir mekanizma.

İster bir web uygulaması dağıtan bir geliştirici, ister bir sunucuyu güvenli hale getiren bir sistem yöneticisi, ister komut satırını öğrenen bir başlangıç olun, Linux’ta dosya izinlerini kontrol etmeyi ve yorumlamayı anlamak vazgeçilmez bir beceridir. Bu kılavuz, temel izin modelinden ileri özel bitlere kadar her şeyi kapsar — pratik komutlar ve gerçek dünya örnekleriyle.

Linux Dosya İzinleri Nedir?

Linux’taki her dosya ve dizinin kendisine bağlı bir izin seti vardır. Bu izinler hangi işlemlere izin verildiğini ve kimin tarafından yapılabileceğini tanımlar. Üç temel izin türü vardır:

İzinSembolDosyada Ne YaparDizinde Ne Yapar
OkumarDosyanın içeriğini görüntüleİçindeki dosyaların adlarını listele
YazmawDosyayı değiştir veya silİçinde dosya oluştur veya kaldır
ÇalıştırmaxDosyayı program olarak çalıştırDizine gir (içinde gezin)

Bu üç izin, üç farklı kullanıcı kategorisine bağımsız olarak uygulanır:

  • Sahip (kullanıcı) — Dosyaya sahip olan kullanıcı, tipik olarak onu oluşturan kişi.
  • Grup — Dosyanın atanmış grubuna ait olan herhangi bir kullanıcı.
  • Diğerleri — Sistemdeki diğer herkes.

Bu üçe üç izin matrisi, Linux yöneticilerine sistemdeki her kaynağa erişim üzerinde ayrıntılı, güçlü kontrol sağlar.

Dosya İzinlerini Kontrol Etme: ls -l Komutu

Dosya izinlerini kontrol etmenin en hızlı ve en yaygın kullanılan yöntemi ls -l komutudur (uzun listeleme biçimi).

ls -l file.txt

Örnek çıktı:

-rw-r--r-- 1 alice developers 1024 Aug 16 12:30 file.txt

Bu çıktının her bileşenini parçalayalım:

-  rw-  r--  r--   1   alice   developers   1024   Aug 16 12:30   file.txt
│   │    │    │    │     │          │          │         │             │
│   │    │    │    │     │          │          │         │             └─ Filename
│   │    │    │    │     │          │          │         └─ Last modified
│   │    │    │    │     │          │          └─ File size (bytes)
│   │    │    │    │     │          └─ Group name
│   │    │    │    │     └─ Owner name
│   │    │    │    └─ Number of hard links
│   │    │    └─ Others' permissions
│   │    └─ Group's permissions
│   └─ Owner's permissions
└─ File type (- = regular file, d = directory, l = symlink)

Yani -rw-r--r-- bize şunu söyler:

  • Sahip (alice): Okuma + Yazma (rw-)
  • Grup (developers): Yalnızca okuma (r--)
  • Diğerleri: Yalnızca okuma (r--)

Birden Fazla Dosyanın İzinlerini Kontrol Etme

Bir dizindeki tüm dosyaların izinlerini aynı anda görmek için:

ls -la /var/www/html

-a bayrağı gizli dosyaları (nokta ile başlayanlar) içerir. Bu, özellikle Shared Web Hosting veya VPS ortamında web sunucusu dizinlerini denetlerken kullanışlıdır.

stat ile Ayrıntılı İzin Bilgisi Alma

Daha kapsamlı bir döküm için — hem sembolik hem de sayısal gösterimleri içeren — stat komutunu kullanın:

stat file.txt

Örnek çıktı:

  File: file.txt
  Size: 1024            Blocks: 8          IO Block: 4096   regular file
Device: fd01h/64769d    Inode: 131073      Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/   alice)   Gid: ( 1000/developers)
Access: 2024-08-16 12:30:00.000000000 +0000
Modify: 2024-08-16 12:30:00.000000000 +0000
Change: 2024-08-16 12:30:00.000000000 +0000

Anahtar satır:

Access: (0644/-rw-r--r--)  Uid: ( 1000/   alice)   Gid: ( 1000/developers)

Bu size şunları verir:

  • Sayısal (sekizlik) gösterim: 0644
  • Sembolik gösterim: -rw-r--r--
  • Kullanıcı Kimliği (UID) ve Grup Kimliği (GID) ile insan tarafından okunabilir adları

stat komutu, üretim sunucularında izin hatalarını giderirken priceless’tır, çünkü tek bir çıktıda ihtiyacınız olan tüm bağlamı sağlar.

Sayısal (Sekizlik) İzin Gösterimini Anlamak

Linux izinleri sayılar olarak ifade edilebilir; bu, chmod gibi komutlar tarafından kullanılan biçimdir. Her izin türüne bir değer atanır:

İzinSayısal Değer
Okuma (r)4
Yazma (w)2
Çalıştırma (x)1
İzin yok (-)0

Her kullanıcı kategorisinin izin değerini değerleri toplayarak hesaplarsınız:

KombinasyonHesaplamaSayısal Değer
rwx4 + 2 + 17
rw-4 + 2 + 06
r-x4 + 0 + 15
r--4 + 0 + 04
---0 + 0 + 00

Üç basamaklı sekizlik bir sayı tam izin setini temsil eder:

0644  →  Owner: 6 (rw-)  |  Group: 4 (r--)  |  Others: 4 (r--)
0755  →  Owner: 7 (rwx)  |  Group: 5 (r-x)  |  Others: 5 (r-x)
0700  →  Owner: 7 (rwx)  |  Group: 0 (---)  |  Others: 0 (---)

Dizinlerdeki İzinleri Kontrol Etme

Dizinler aynı izin modelini kullanır, ancak her bitin anlamı biraz farklıdır. Bir dizinin içeriği yerine dizinin kendisini incelemek için ls -ld kullanın (-d bayrağına dikkat edin):

ls -ld myfolder

Örnek çıktı:

drwxr-x--- 2 alice developers 4096 Aug 16 12:30 myfolder

Başındaki d bunun bir dizin olduğunu doğrular. İzinler şu şekilde ayrılır:

  • Sahip (alice): rwx — Listeleyebilir, dosya oluşturabilir/silebilir ve dizine girebilir
  • Grup (developers): r-x — Dosyaları listeleyebilir ve girebilir, ancak oluşturamaz veya silemez
  • Diğerleri: --- — Hiç erişim yok

> Önemli: Bir dizinde çalıştırma biti (x), ona girme yeteneği anlamına gelir (yani cd kullanmak). x olmadan, bir kullanıcı okuma izni olsa bile dizine giremez. Bu, yeni başlayanlar için yaygın bir karışıklık kaynağıdır.

Özel İzin Bitleri: setuid, setgid ve Sticky Bit

Standart dokuz izin bitinin ötesinde, Linux gelişmiş erişim kontrolü sağlayan üç özel izin biti destekler:

1. setuid (s sahibinin çalıştırma bitinde)

Çalıştırılabilir bir dosyaya ayarlandığında, program çağıran kullanıcının ayrıcalıkları yerine dosya sahibinin ayrıcalıklarıyla çalışır. Bu, passwd gibi komutların normal kullanıcıların /etc/shadow değiştirmesine izin vermesinin nedenidir (root tarafından sahip olunan).

ls -l /usr/bin/passwd
-rwsr-xr-x 1 root root 54256 Mar 27 2023 /usr/bin/passwd

Sahibinin çalıştırma konumundaki s setuid’i gösterir.

2. setgid (s grubun çalıştırma bitinde)

Dosyada, program grubun ayrıcalıklarıyla çalışır. Dizinde, içinde oluşturulan yeni dosyalar otomatik olarak dizinin grubunu devralır — paylaşılan proje klasörleri için kullanışlıdır.

ls -ld /shared/project
drwxrwsr-x 2 alice developers 4096 Aug 16 12:30 /shared/project

3. Sticky Bit (t diğerlerinin çalıştırma bitinde)

Dizine ayarlandığında, yalnızca dosyanın sahibi (veya root) içindeki dosyaları silebilir veya yeniden adlandırabilir; diğerleri yazma izni olsa bile. Bu, /tmp için standart yapılandırmadır:

ls -ld /tmp
drwxrwxrwt 12 root root 4096 Aug 16 12:30 /tmp

Sonundaki t sticky bitin etkin olduğunu gösterir.

Özel bitlerin sayısal gösterimi:

Özel BitSayısal Değer
setuid4000
setgid2000
Sticky bit1000

Yani drwxrwxrwt = 1777 (1000 + 777).

Tam İzin Referans Tablosu

SembolikSayısalDosyada AnlamıDizinde Anlamı
---0Erişim yokErişim yok
--x1Yalnızca çalıştırmaYalnızca giriş
-w-2Yalnızca yazmaİçeriği değiştir (x ile)
-wx3Yazma + ÇalıştırmaGir ve değiştir
r--4Yalnızca okumaAdları listele (x olmadan kullanışlı değil)
r-x5Okuma + ÇalıştırmaListele ve gir
rw-6Okuma + YazmaListele ve değiştir (girmeden)
rwx7Tam erişimTam kontrol

Gerçek Dünya İzin Örnekleri

Pratikte karşılaşacağınız en yaygın izin desenleri şunlardır:

-rw-r--r-- (0644) — Standart Dosya

-rw-r--r-- 1 alice developers 1024 Aug 16 12:30 config.txt

Sahip okuyabilir ve yazabilir. Grup ve diğerleri yalnızca okuyabilir. Yapılandırma dosyaları ve web içeriği için tipiktir.

-rwxr-xr-x (0755) — Çalıştırılabilir Betik veya İkili

-rwxr-xr-x 1 alice developers 4096 Aug 16 12:30 deploy.sh

Sahibinin tam erişimi vardır. Diğer herkes okuyabilir ve çalıştırabilir ancak değiştiremez. Shell betikleri, web sunucusu ikilileri ve genel çalıştırılabilirler için standarttır.

-rw------- (0600) — Özel Dosya

-rw------- 1 alice alice 1679 Aug 16 12:30 id_rsa

Yalnızca sahip okuyabilir veya yazabilir. Başka kimse için erişim yok. SSH özel anahtarları için gereklidir — SSH, daha geniş izinlere sahip bir anahtar dosyasını kullanmayı reddedecektir.

drwxr-xr-x (0755) — Standart Genel Dizin

drwxr-xr-x 5 alice developers 4096 Aug 16 12:30 public_html

Web kök dizinleri için yaygındır. Sahibinin tam kontrolü vardır; diğerleri göz atabilir ve girebilir.

drwx------ (0

15%

Tüm Hosting Hizmetlerinde %15 indirim

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın:

Skills
Başlayın