Pardus'ta Paylaşımlı Dizin Güvenliği: Sticky Bit Rehberi

Pardus ve genel olarak Linux sistemlerinde dosya izinleri, güvenliğin temel taşını oluşturur. Standart read (okuma), write (yazma) ve execute (çalıştırma) izinlerinin ötesinde, sistem yönetimine esneklik katan "Özel İzinler" bulunur. Bunlardan en yaygın olanı Sticky Bit (Yapışkan Bit) özelliğidir.


1. Sticky Bit Nedir?

Sticky Bit, bir dizin üzerindeki dosyaların yalnızca sahibi (owner), dizinin sahibi veya root kullanıcısı tarafından silinmesine veya adının değiştirilmesine izin veren özel bir erişim hakkı bayrağıdır.

Normal şartlarda, bir dizine yazma (w) izni olan her kullanıcı, o dizin içindeki her dosyayı (sahibi olmasa bile) silebilir. Sticky Bit, ortak çalışma alanlarında kullanıcıların birbirlerinin verilerine zarar vermesini engellemek için kullanılır.


2. Neden Kullanılır?

En klasik örnek Linux sistemlerindeki /tmp dizinidir.

  • /tmp dizinine her kullanıcı dosya yazabilir.

  • Ancak Sticky Bit sayesinde, Kullanıcı A'nın oluşturduğu geçici dosyayı Kullanıcı B silemez.

  • Bu, sistemin kararlılığını ve kullanıcı verilerinin güvenliğini sağlar.


3. Sticky Bit Nasıl Tespit Edilir?

Bir dizinde Sticky Bit'in aktif olup olmadığını anlamak için ls -ld komutunu kullanırız. İzinler kısmındaki en son karakter (diğerleri için çalıştırma izni alanı) kontrol edilir.

Bash:
ls -ld /tmp

Çıktı Örneği:

drwxrwxrwt 15 root root 4096 Jan 29 17:40 /tmp

  • t harfi: Sticky Bit aktif ve "diğerleri" (others) için çalıştırma izni de var demektir.

  • T harfi: Sticky Bit aktif ancak "diğerleri" için çalıştırma izni yok demektir.


4. Sticky Bit Nasıl Atanır? (Uygulama)

Pardus terminalinde Sticky Bit atamak için chmod komutu iki farklı yöntemle kullanılabilir:

A. Sembolik Yöntem

Mevcut izinleri bozmadan sadece Sticky Bit eklemek için +t parametresi kullanılır.

Bash:
# Bir dizine sticky bit eklemek için:
sudo chmod +t /dizin_adi

# Kaldırmak için:
sudo chmod -t /dizin_adi

B. Sayısal (Oktal) Yöntem

Linux'ta izinler 3 haneli rakamlarla (örneğin 755) ifade edilir. Özel izinler için bu rakamın başına 4. bir hane eklenir:

  • SUID: 4

  • SGID: 2

  • Sticky Bit: 1

Örneğin, bir dizine 777 (herkese tam yetki) verip Sticky Bit eklemek isterseniz kod 1777 olur.

Bash:
# Tam yetkili ve sticky bit içeren bir dizin oluşturma:
sudo chmod 1777 /ortak_klasor

5. Uygulama Senaryosu: Ortak Proje Klasörü

Pardus yüklü bir sunucuda "muhasebe" grubu üyelerinin dosya paylaşabileceği ama birbirlerinin dosyalarını silemeyeceği bir klasör oluşturalım:

  1. Dizini Oluşturun: sudo mkdir /muhasebe_ortak

  2. Grup Yazma İzni Verin: sudo chmod 775 /muhasebe_ortak

  3. Sticky Bit Uygulayın: sudo chmod +t /muhasebe_ortak

Artık bu klasörde herkes dosya oluşturabilir, ancak ahmet kullanıcısının oluşturduğu bir dosyayı mehmet kullanıcısı (yazma izni olsa dahi) silemeyecektir.


Özet Tablo

ÖzellikAçıklama
Sayısal Değeri1 (Örn: 1755)
Sembolik Harfit veya T
KapsamıGenellikle Dizinler
Temel GöreviDosya silme yetkisini sadece sahibine kısıtlamak

Pardus sisteminizde güvenliği artırmak için çok kullanıcılı dizinlerde Sticky Bit yapılandırmasını mutlaka gözden geçirmelisiniz.

Pardus üzerinde çok kullanıcılı bir ortamda veri güvenliğini sağlamak için gerçekçi bir senaryo üzerinden ilerleyelim.

Senaryomuzda bir "Proje" klasörü oluşturacağız. Bu klasörde herkes dosya okuyup yazabilecek, ancak kimse bir başkasının çalışmasını yanlışlıkla veya kasten silemeyecek.


Pardus Güvenli Ortak Klasör Senaryosu

Bu senaryoyu terminal üzerinden adım adım uygulayalım:

1. Klasörü Oluşturma ve Yetkilendirme

Öncelikle kök dizinde tüm kullanıcıların erişebileceği bir alan oluşturalım.

Bash:
# Klasörü oluştur
sudo mkdir /ortak_proje

# Klasör izinlerini herkesin yazabileceği şekilde ayarla (777)
sudo chmod 777 /ortak_proje

2. Sticky Bit Olmadan Test (Riskli Durum)

Eğer Sticky Bit olmasaydı:

  1. ali kullanıcısı klasöre not.txt ekler.

  2. ayse kullanıcısı, bu dosya kendisine ait olmasa bile rm /ortak_proje/not.txt komutuyla dosyayı silebilir. Çünkü klasörün yazma izni herkese açıktır.

3. Sticky Bit Uygulama (Güvenli Durum)

Şimdi bu "silme" karmaşasını önlemek için korumayı devreye alalım:

Bash:
# Sticky Bit özelliğini ekle
sudo chmod +t /ortak_proje

4. Sonucun Doğrulanması

İzinleri kontrol ettiğimizde dizin yapısının şu şekilde değiştiğini göreceksiniz:

Bash:
ls -ld /ortak_proje
# Çıktı şuna benzeyecektir:
# drwxrwxrwt 2 root root 4096 Jan 29 18:00 /ortak_proje

Adım Adım Güvenlik Analizi

Aşağıdaki tablo, Sticky Bit uygulandıktan sonra Pardus sistemindeki davranış değişikliğini özetler:

İşlemKullanıcıDurumNeden?
Dosya OluşturmaHerkes✅ BaşarılıKlasör izni 777 (Herkes yazabilir).
Kendi Dosyasını SilmeDosya Sahibi✅ BaşarılıDosya sahibinin tam yetkisi vardır.
Başkasının Dosyasını SilmeDiğerleriReddedildiSticky Bit aktif; sadece sahip silebilir.
Başkasının Dosyasını OkumaHerkes✅ BaşarılıOkuma (r) izinleri hala aktiftir.

Dikkat Edilmesi Gereken Bir İpucu

Eğer bir dizinde Sticky Bit olduğunu görüyorsanız ancak harf küçük t yerine büyük T ise, bu durum "diğerleri" (others) grubunun o dizinde çalıştırma (execute) iznine sahip olmadığını gösterir. Tam işlevsellik için genellikle küçük t (çalıştırma izniyle birlikte) tercih edilir.

Bu senaryoyu kendi Pardus sisteminizde denemek için iki farklı kullanıcı hesabı açıp terminal üzerinden "silme" komutunu test edebilirsiniz.

Pardus ve diğer Linux tabanlı sistemlerde, Sticky Bit (Kısıtlayıcı Silme) ve SGID (Set Group ID) özelliklerini bir arada kullanmak, kurumsal bir dosya hiyerarşisi oluşturmanın en profesyonel yoludur.

Bu yapılandırma genellikle bir departmanın (örneğin "Yazılım" veya "Muhasebe") ortak bir klasörde çalışması, ancak dosyaların hem belirli bir gruba ait kalması hem de korunması istendiğinde kullanılır.


SGID + Sticky Bit Kombinasyonu

Normalde bir kullanıcı dosya oluşturduğunda, o dosyanın sahibi ve grubu, o kullanıcı kimse o olur. Ancak SGID bunu değiştirir.

1. SGID Nedir?

Bir dizine SGID atandığında, o dizin içinde oluşturulan her dosya/alt dizin, oluşturan kullanıcının grubunu değil, ana dizinin grubunu otomatik olarak devralır.

2. İkisini Birleştirince Ne Olur?

  • SGID sayesinde: Herkesin oluşturduğu dosya otomatik olarak "ortak_grup" grubuna ait olur (Böylece ekip üyeleri birbirinin dosyasını okuyabilir).

  • Sticky Bit sayesinde: Kimse bir başkasının dosyasını silemez.


Adım Adım Teknik Yapılandırma

Pardus terminalinde şu komutları takip ederek "Geliştirici" ekibi için mükemmel bir çalışma alanı oluşturalım:

A. Hazırlık: Grup ve Kullanıcılar

Bash:
# Geliştiriciler grubunu oluşturalım
sudo groupadd gelistiriciler

# Kullanıcıları bu gruba ekleyelim
sudo usermod -aG gelistiriciler ali
sudo usermod -aG gelistiriciler ayse

B. Dizin Oluşturma ve Sahiplik

Bash:
sudo mkdir /proje_deposu
# Grubunu gelistiriciler yapalım
sudo chown :gelistiriciler /proje_deposu

C. Özel İzinlerin Atanması (Sihirli Dokunuş)

Burada hem SGID (2) hem de Sticky Bit (1) kullanacağız. Sayısal toplamda başa 3 (2+1) getireceğiz.

Bash:
# 3: SGID + Sticky Bit, 7: Sahibi, 7: Grup, 0: Diğerleri (tam koruma)
sudo chmod 3770 /proje_deposu

Sonuç Analizi

Bu komuttan sonra ls -ld /proje_deposu dediğinizde izinleri şu şekilde göreceksiniz:

drwxrws--t

KarakterAnlamıEtkisi
s (Group alanında)SGID AktifAyşe dosya oluşturduğunda, dosyanın grubu otomatik gelistiriciler olur. Ali bu dosyayı hemen okuyabilir.
t (Others alanında)Sticky Bit AktifAli, Ayşe'nin dosyasını okuyabilir ama silemez.

Neden Bu Yapılandırmayı Kullanmalısınız?

Bu yöntem, Pardus sistem yöneticileri için "kendi kendini yöneten" bir ekosistem yaratır. Sürekli dosya sahipliği değiştirmekle (chown) uğraşmazsınız. Sistem, grup hiyerarşisini ve silme güvenliğini otomatik olarak sağlar.

Yorumlar

Bu blogdaki popüler yayınlar

Android Telefon/Tablet Ekranını Pardus ETAP 23 Yüklü Akıllı Tahtaya Yansıtma

Pardus Etap 23’de Unutulmuş Etap Yetkili Parolasını Sıfırlama

Pardus Etap 23 Yazıcı Kurulumu