Linux

Linux Permission Rehberi: Dosya ve Dizin Yetkileri

Linux Permission kavramı, işletim sisteminde dosya ve dizinlerin güvenliğini sağlamak için kullanılan en temel mekanizmalardan biridir. Bir sunucu yöneticisi, sistem yöneticisi ya da geliştirici olarak, dosya izinlerini doğru şekilde yönetmek kritik bir beceridir. Çünkü yanlış yapılandırılmış bir izin, ya yetkisiz erişime ya da beklenmedik bir erişim kısıtlamasına yol açabilir. Bu rehberde, Linux Permission sistemini derinlemesine ele alacak, kullanım senaryolarını inceleyecek ve pratik ipuçları sunacağız.

Linux Permission Rehberi: Dosya ve Dizin Yetkileri 1

Linux Permission Nedir?

Linux Permission, her dosya ve dizin için tanımlanan erişim yetkilerini ifade eder. Bu yetkiler, hangi kullanıcıların dosyaları okuyabileceğini, değiştirebileceğini veya çalıştırabileceğini belirler. Üç ana kategori vardır:

  1. Okuma (Read – r): Dosyanın içeriğini görüntüleme yetkisi.

  2. Yazma (Write – w): Dosyayı değiştirme veya üzerine yazma izni.

  3. Çalıştırma (Execute – x): Dosyayı çalıştırma veya dizine erişme izni.

Her dosya ve dizin, bu üç yetkinin kombinasyonu ile yönetilir.

Kullanıcı Grupları

Linux Permission sistemi yalnızca yetkilerin ne olduğunu değil, kimin kullanabileceğini de belirler. İzinler üç ana kullanıcı grubu için atanır:

  • Owner (Sahip): Dosyayı oluşturan veya sahipliği devralan kullanıcı.

  • Group (Grup): Aynı kullanıcı grubundaki diğer kişiler.

  • Others (Diğerleri): Sistemdeki geri kalan tüm kullanıcılar.

Bu sayede, aynı dosya üzerinde farklı seviyelerde kontrol sağlanabilir.

İzinlerin Temsili

Linux Permission bilgileri genellikle terminalde ls -l komutuyla görüntülenir. Örneğin:

-rwxr-xr--

Bu ifade şu şekilde okunur:

  • : Dosya türü (– normal dosya, d = dizin).

  • rwx : Sahip için izinler (okuma, yazma, çalıştırma).

  • r-x : Grup için izinler (okuma, çalıştırma).

  • r– : Diğer kullanıcılar için izinler (sadece okuma).

Sayısal Gösterim (Octal Notation)

İzinler yalnızca sembollerle değil, sayılarla da temsil edilebilir. Bu sistem, izin yönetimini daha pratik hale getirir.

  • 4 = Read (r)

  • 2 = Write (w)

  • 1 = Execute (x)

Bunların toplamı izin kombinasyonunu verir:

  • 7 = rwx

  • 6 = rw-

  • 5 = r-x

  • 4 = r–

Örneğin:

chmod 755 script.sh

Bu komut, dosyanın sahibine tüm izinleri, gruba ve diğerlerine ise okuma ve çalıştırma izni verir.

chmod Komutu

Linux Permission ayarlamanın en bilinen yolu chmod komutudur.
Örnekler:

  • chmod 644 file.txt → Sahip: okuma-yazma, Grup ve diğerleri: sadece okuma

  • chmod +x script.sh → Çalıştırma izni ekleme

  • chmod -w notes.txt → Yazma iznini kaldırma

chown ve chgrp

İzin yönetimi yalnızca chmod ile sınırlı değildir. Sahiplik ve grup atamaları da önemlidir.

  • chown: Dosya sahibini değiştirir.

chown Hostixo file.txt
  • chgrp: Dosyanın grup sahipliğini değiştirir.

chgrp developers file.txt

Özel İzinler

Linux Permission daha gelişmiş ihtiyaçlar için özel izinler de içerir:

  1. SetUID (s): Program sahibinin yetkileriyle çalışmasını sağlar.

  2. SetGID (s): Dosyanın grup yetkileriyle çalışmasını sağlar.

  3. Sticky Bit (t): Dizinlerde, sadece dosya sahibinin silmesine izin verir.

Örnek: /tmp dizini sticky bit kullanır.

Pratik Senaryolar

  1. Web Sunucusu İçin Güvenlik:
    Bir web sunucusu çalıştırıyorsanız, www-data gibi kullanıcıların yalnızca gerekli dizinlere erişmesini sağlamalısınız.

  2. Paylaşımlı Sunucu:
    Aynı sunucuda birden fazla geliştirici çalışıyorsa, grup izinleriyle düzenlemeler yapılmalıdır.

  3. Script Çalıştırma:
    Bir scripti çalıştırılabilir hale getirmek için chmod +x komutu gerekir.

Linux Permission Yönetiminde İyi Uygulamalar

  • Minimum Yetki İlkesi: Kullanıcıya sadece ihtiyacı olan izinleri verin.

  • Grup Kullanımı: İzinleri kullanıcı bazlı değil, grup bazlı yönetin.

  • Sistem Denetimleri: Düzenli olarak izinleri kontrol edin (find / -perm).

  • Özel İzinleri Gereksiz Kullanmayın: SetUID gibi izinler güvenlik riski doğurabilir.

Sonuç

Linux Permission sistemi, Linux işletim sisteminin en güçlü güvenlik özelliklerinden biridir. Dosya ve dizinler üzerinde doğru izin yapılandırmaları yapmak, yalnızca güvenliği değil aynı zamanda sistemin verimliliğini de artırır. Sahiplik, gruplar ve özel izinler gibi detaylara hakim olarak, sisteminizi daha güvenli ve yönetilebilir hale getirebilirsiniz.

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu