Sunucu Dosya İzinleri ve Sahiplik Yönetimi Rehberi

Sunucu Dosya İzinleri ve Sahiplik Yönetimi Rehberi - Corelux
18 Haz 2026
Paylaş:

Sunucu Dosya İzinleri ve Sahiplik Yönetimi Rehberi

Son Güncelleme: Mayıs 2026

Dosya izinleri, sahiplik (ownership) ve erişim yetkileri; Linux sunucu yönetiminin en kritik konularından biridir. Yanlış yapılandırılmış izinler hem güvenlik açıklarına hem de web sitesi, uygulama ve servis hatalarına yol açabilir. Bu rehberde dosya izinlerinin mantığını, pratik kullanımını, güvenli yapılandırma yaklaşımını ve sık yapılan hataları ayrıntılı biçimde ele alıyoruz.

İçindekiler

Dosya İzinleri Nedir?

Dosya izinleri, bir dosya ya da klasör üzerinde kimlerin ne yapabileceğini belirleyen erişim kurallarıdır. Linux ve Unix tabanlı sistemlerde her nesne; okuma (read), yazma (write) ve çalıştırma (execute) izinleri ile kontrol edilir.

Sunucu tarafında bu yapı yalnızca düzen sağlamak için değil, aynı zamanda güvenlik için de kullanılır. Örneğin bir web uygulamasında tüm dosyaları herkesin yazabileceği şekilde ayarlamak, kötü niyetli bir kişinin sistem üzerinde kolayca değişiklik yapmasına yol açabilir. Öte yandan çok sıkı izinler de uygulamanın çalışmasını engelleyebilir. Bu nedenle doğru dengeyi kurmak gerekir.

İzin sistemi genellikle üç ana kullanıcı grubuna ayrılır:

  • Owner (sahip): Dosyanın gerçek sahibi olan kullanıcı.
  • Group (grup): Aynı grup içindeki kullanıcılar.
  • Others (diğerleri): Ne sahip ne de grup üyesi olan tüm kullanıcılar.

İzin Mantığını Hızlı Anlama

Bir dosyada görülen 644 veya 755 gibi sayısal değerler, bu üç kategori için tanımlanmış erişim haklarını ifade eder. Bu mantık, sistem yöneticilerinin izinleri hızlı ve tutarlı biçimde yönetmesini sağlar.

Sahiplik ve Grup Yapısı

Linux sistemlerde her dosya bir sahip kullanıcı ve bir sahip grup ile ilişkilendirilir. Bu yapı, özellikle çok kullanıcılı sunucularda yetki yönetimini kolaylaştırır. Web hosting, VPS, VDS ve uygulama sunucularında doğru sahiplik düzeni, hata ayıklamayı ve güvenliği doğrudan etkiler.

Örneğin bir web sitesi dosyalarının sahibi uygulamayı yöneten kullanıcı olabilir; grup ise web sunucusu servisinin erişmesi gereken paylaşımlı bir grup olabilir. Böylece servis gerekli dosyalara erişirken sistemin geri kalanına gereksiz yetki verilmez.

Sahiplik Neden Önemlidir?

Bir dosya yanlış kullanıcıya aitse uygulama dosyayı değiştiremez ya da güvenlik açısından fazla geniş bir erişim oluşabilir. Özellikle root kullanıcısına ait dosyalarla çalışırken dikkatli olmak gerekir; çünkü gereksiz root sahipliği bakım süreçlerini zorlaştırabilir ve hata riskini artırabilir.

Okuma, Yazma ve Çalıştırma İzinleri

İzinlerin temel bileşenleri üçtür:

  • Okuma (read): Dosya içeriğini görüntüleme ya da klasör içeriğini listeleme hakkı.
  • Yazma (write): Dosya içeriğini değiştirme ya da klasöre dosya ekleme/silme hakkı.
  • Çalıştırma (execute): Bir betiği (script) çalıştırma ya da klasöre erişip içine girme hakkı.

Klasörlerde çalıştırma izni ayrı bir anlam taşır. Klasöre girip içindeki dosyalara erişebilmek için bu izin gerekir. Bu nedenle yalnızca okuma izni olan bir klasörde içerik listelenebilir ama içine erişim engellenebilir.

İzin Dosya Üzerindeki Etkisi Klasör Üzerindeki Etkisi
Read İçeriği görüntüleme İçerik listesini görme
Write İçeriği değiştirme Dosya oluşturma/silme
Execute Dosyayı çalıştırma Klasöre girme

Sayısal İzin Sistemi

Sayısal izinlerde her yetki bir değere karşılık gelir:

  • Read: 4
  • Write: 2
  • Execute: 1

Bu değerler toplanarak izin kodu oluşturulur. Örneğin 7 = 4+2+1 yani tam yetki; 5 = 4+1 yani okuma ve çalıştırma yetkisi demektir.

chmod, chown ve chgrp Kullanımı

Linux’ta izin ve sahiplik yönetimi için en sık kullanılan komutlar chmod, chown ve chgrp komutlarıdır. Bunları doğru anlamak, sunucu yönetiminde temel becerilerden biridir.

chmod ile İzin Değiştirme

chmod, dosya veya klasörün erişim izinlerini değiştirir. Sayısal ya da sembolik formatta kullanılabilir.

chmod 644 index.php
chmod 755 public_html
chmod u+x deploy.sh

İlk komut dosyaya sahip için okuma-yazma, diğerleri için yalnızca okuma izni verir. İkinci komut klasöre genel kullanımda sık görülen izin biçimidir. Üçüncü komut ise dosya sahibine çalıştırma yetkisi ekler.

chown ile Sahiplik Değiştirme

chown, dosyanın sahibini ve gerekirse grubunu değiştirir.

chown kullanici:kullanici site.conf
chown -R kullanici:kullanici /var/www/site

-R parametresi işlemi alt dizinlere de uygular. Bu seçenek kullanılırken dikkatli olunmalıdır; çünkü yanlış bir klasörde kullanılması çok sayıda dosyanın sahipliğini istemeden değiştirebilir.

chgrp ile Grup Değiştirme

chgrp yalnızca grup sahipliğini değiştirir. Paylaşımlı ekip klasörlerinde veya servis tabanlı erişim senaryolarında faydalıdır.

chgrp webteam /var/www/proje

SUID, SGID ve Sticky Bit

Standart izinlerin yanında bazı özel bitler de vardır. Bunlar, belirli dosya ve klasörlerde ek davranışlar sağlar. Güvenlik açısından kritik oldukları için iyi anlaşılmaları gerekir.

SUID Nedir?

SUID (Set User ID), çalıştırılan bir dosyanın sahibinin yetkileriyle çalışmasını sağlar. Bu özellik genellikle sistem komutlarında kullanılır. Ancak yanlış kullanım ciddi güvenlik riskleri doğurabileceğinden, yalnızca gerekli dosyalarda kullanılmalıdır.

SGID Nedir?

SGID (Set Group ID), dosya veya klasörün grup davranışını etkiler. Klasörlerde kullanıldığında, o klasör altındaki yeni dosyalar belirli bir grubun sahipliğini devralabilir. Bu özellik özellikle ekip çalışmasında veya ortak proje alanlarında çok işe yarar.

Sticky Bit Nedir?

Sticky bit, özellikle herkesin yazabildiği klasörlerde dosya silme davranışını sınırlar. En bilinen örnek /tmp klasörüdür. Kullanıcılar klasöre dosya yazabilir, ancak yalnızca kendi dosyalarını silebilirler.

Özel Bit Kullanım Alanı Temel Etki
SUID Yürütülebilir dosyalar Dosya sahibinin yetkisiyle çalıştırma
SGID Klasörler ve paylaşımlı alanlar Grup sahipliğini koruma veya devralma
Sticky Bit Paylaşımlı yazılabilir klasörler Yalnızca dosya sahibinin silmesine izin verme

Web Sunucularında İzin Yapılandırması

Web hosting ve uygulama barındırma ortamlarında doğru izin yapısı, hem performans hem de güvenlik açısından önemlidir. Özellikle PHP tabanlı uygulamalar, dosya yükleme dizinleri, önbellek klasörleri ve log dosyaları için farklı izin ihtiyaçları olabilir.

Genel yaklaşım, gerekli minimum yetkiyi vermektir. Örneğin statik içerikler için geniş yazma izni gerekmez; buna karşılık yükleme klasörleri uygulamanın dosya yazmasına izin vermelidir. Bu denge sağlanmadığında ya güvenlik açığı oluşur ya da uygulama düzgün çalışmaz.

WordPress ve Benzeri Sistemlerde Dikkat Edilecekler

WordPress gibi CMS sistemlerinde dosya izinleri özellikle önemlidir. Tema dosyaları, eklenti klasörleri ve yükleme dizinleri farklı risk seviyelerine sahiptir. Tüm siteyi yazılabilir yapmak yerine yalnızca gerekli alanlara yazma izni vermek daha güvenlidir.

Yaygın Bir İzin Modeli

Birçok durumda web sitesi klasörleri için 755, dosyalar için 644 yaklaşımı başlangıç noktası olarak tercih edilir. Ancak bu model her ortam için mutlak doğru değildir; servis kullanıcısı, panel yapısı ve uygulama mimarisi dikkate alınmalıdır.

find /var/www/site -type d -exec chmod 755 {} \;
find /var/www/site -type f -exec chmod 644 {} \;

Bu komutlar klasör ve dosyalar için temel bir toplu düzenleme yapar. Yine de çalıştırmadan önce dizin yapısı doğrulanmalıdır.

Güvenlik İçin En İyi Uygulamalar

İzin yönetiminde amaç yalnızca uygulamayı çalıştırmak değil, aynı zamanda saldırı yüzeyini azaltmaktır. Aşağıdaki öneriler, Linux sunucularda daha güvenli bir yapı oluşturmanıza yardımcı olur.

  • Minimum yetki prensibi: Her kullanıcıya sadece ihtiyacı kadar izin verin.
  • Root kullanımını sınırlayın: Günlük işlemleri mümkün olduğunca normal kullanıcıyla yönetin.
  • Toplu izin değiştirmeden önce kontrol edin: Özellikle -R parametresi dikkatle kullanılmalıdır.
  • Yazılabilir klasörleri daraltın: Yalnızca yükleme, cache veya geçici veri alanlarını yazılabilir yapın.
  • Paylaşımlı sunucularda sahiplik ayrımına dikkat edin: Her siteyi ayrı kullanıcı ile çalıştırmak izolasyonu artırır.

Güvenlik açısından dosya izinleri, tek başına yeterli değildir. Ancak yanlış yapılandırılmış izinler, en güçlü firewall kurallarını bile boşa çıkarabilir. Bu yüzden izin denetimi, düzenli sunucu bakımının bir parçası olmalıdır.

Sık Yapılan Hatalar

Dosya izinleri yönetilirken yapılan yaygın hatalar genellikle aceleyle veya kopyala-yapıştır mantığıyla uygulanan işlemlerden kaynaklanır. Bunların bazıları küçük görünebilir, ancak üretim ortamında ciddi sonuçlar doğurabilir.

  1. Her yere 777 vermek: Bu, güvenliği ciddi şekilde zayıflatır ve çoğu durumda yanlış yaklaşımdır.
  2. Yanlış klasörde recursive işlem yapmak: chmod -R ve chown -R komutları dikkatle kullanılmalıdır.
  3. Servis kullanıcısını göz ardı etmek: Web sunucusunun hangi kullanıcıyla çalıştığını bilmeden izin düzenlemek sorun çıkarır.
  4. Dosya ile klasör izinlerini aynı sanmak: İkisi farklı davranış gösterir.
  5. Özel bitleri gereksiz kullanmak: SUID ve SGID yalnızca gerekli durumlarda tercih edilmelidir.

İzin Sorunlarında Teşhis Yaklaşımı

Bir uygulama dosyaya erişemiyorsa önce sahiplik, ardından dosya izni, sonra klasör izni kontrol edilmelidir. Sorun çoğu zaman tek bir ayardan kaynaklanmaz; servis kullanıcı adı, grup üyeliği ve üst klasör izinleri birlikte değerlendirilmelidir.

Pratik Senaryolar

Teoriyi anlamak önemlidir; ancak gerçek kullanım senaryoları izin yönetimini daha anlaşılır hale getirir. Aşağıda sık karşılaşılan bazı örnekleri bulabilirsiniz.

Senaryo 1: Web Sitesi Yükleme Klasörü

Bir uygulama, kullanıcıların dosya yükleyebildiği bir uploads klasörüne sahipse, bu klasör yazılabilir olmalı; fakat tüm site dizini yazılabilir olmamalıdır. Böylece sadece ihtiyaç duyulan alan açık bırakılır.

Senaryo 2: Ekip Ortak Klasörü

Birden fazla yönetici aynı proje üzerinde çalışıyorsa, SGID ile grup sahipliğini korumak faydalıdır. Böylece yeni oluşturulan dosyalar ekip grubunda kalır ve iş akışı bozulmaz.

Senaryo 3: Geçici Dosyalar

Geçici işlem klasörlerinde sticky bit kullanımı, kullanıcıların birbirinin dosyasını silmesini engelleyebilir. Bu, özellikle paylaşımlı sistemlerde dosya düzenini korur.

Senaryo 4: Yanlış Sahiplik Nedeniyle Hata

Bir PHP uygulaması dosya oluşturamıyorsa sorun çoğu zaman yazma izninden çok sahipliktedir. Dosya uygulama kullanıcısına ait değilse servis yeterli yetkiye sahip olmayabilir.

Sıkça Sorulan Sorular

Linux’ta 755 ve 644 ne anlama gelir?

755, sahibin tam yetkili olduğu; grup ve diğer kullanıcıların ise okuma ve çalıştırma hakkı bulunduğu bir izin modelidir. 644 ise sahibin okuma-yazma, diğerlerinin yalnızca okuma hakkına sahip olduğu anlamına gelir.

Her klasöre 777 vermek neden yanlıştır?

777, herkesin okuma, yazma ve çalıştırma yetkisi olduğu anlamına gelir. Bu durum özellikle web sunucularında ciddi güvenlik riski oluşturur ve saldırganların dosya değiştirmesini kolaylaştırabilir.

chown ile chmod arasındaki fark nedir?

chown dosyanın sahibini veya grubunu değiştirir; chmod ise erişim izinlerini ayarlar. Yani biri kimin erişeceğini, diğeri ne yapabileceğini belirler.

Web sitesi dosyaları için en güvenli yaklaşım nedir?

Minimum yetki mantığıyla çalışmak en güvenli yaklaşımdır. Yalnızca gerekli klasörlere yazma izni verin, diğer dosyaları mümkün olduğunca salt okunur tutun ve sahipliği uygulama yapısına göre düzenleyin.

Recursive izin değişikliği yaparken nelere dikkat etmeliyim?

-R parametresi alt dizinlerin tamamını etkiler. Yanlış dizinde kullanılırsa büyük çaplı izin bozulmalarına neden olabilir. İşlem öncesinde hedef yolu mutlaka kontrol edin.

Sunucuda izin sorunlarını nasıl hızlı teşhis ederim?

Önce dosyanın sahibi ve grubu, sonra dosya ve klasör izinleri, ardından servis kullanıcısı kontrol edilmelidir. Gerekirse uygulama logları ve sistem logları da incelenmelidir.

Sonuç

Dosya izinleri ve sahiplik yönetimi, sunucu güvenliğinin temel taşlarından biridir. Doğru yapılandırma; veri bütünlüğünü korur, yetkisiz erişimi sınırlar ve uygulama kararlılığını artırır. Yanlış yapılandırma ise hem güvenlik açığı hem de servis kesintisi anlamına gelebilir.

Corelux olarak Linux sunucu, VPS, VDS ve hosting altyapılarında güvenli, performans odaklı ve yönetilebilir çözümler sunuyoruz. Sunucunuzu daha güvenli ve verimli hale getirmek için Sanal Sunucu, Linux Hosting ve Yedekleme Hizmeti seçeneklerini inceleyebilirsiniz.

Yazar

Boran BAR

Chat on WhatsApp