Suid-Sgid Bitleri

KONU ANALİZİ

  • Suid Biti
  • Sgid Biti
  • Suid Ve Sgid Bitlerinin Değiştirilmesi
  • Oturum açtığımızda yeni bir kabuk süreci başlar. Her yeni kabuk süreci(bash) bizim kullanıcı bilgimizle çalışır. Böylece bizim sahip olduğumuz dosya ve dizinlere ulaşılır. Kullanıcı bilgilerini verdiğimiz programlar,dosya sisteminde bizim iznimizin olmadığı herhangi bir neseneye ulaşamayacaktır.

    Örneğin; normal kullanıcılar passwd dosyasına yazma hakkına sahip değildirler.
    ls -l /etc/passwd
    -rw-r--r-- 1 root root 1673 2010-12-09 14:43 /etc/passwd

    Oysa ki normal kullanıcılarında dolaylı olarak bu dosya üzerinde değişiklik yapmaya ihtiyaçları olabilir.Mesela şifrelerini değiştirecekleri zaman…

    Linux izin modelinde “suid” ve “sgid” isimli iki özel bit vardır.

    Suid Biti

    Eğer çalıştırılabilir bir dosyanın suid biti ayarlanmışsa o dosya o anda çalıştıran kullanıcı değilde ,asıl sahibi olan kullanıcının adıyla çalışıyormuş gibi olur. Örneğin: passwd çalıştırılabilir dosyasına baktığımızda;
    ls -l /usr/bin/passwd

    -rwsr-xr-x 1 root root 42824 2011-02-21 02:18 /usr/bin/passwd

    Burada dosya sahibinin izinlerini ifade eden üçlüde “x” yerine “s” var. Bu “s” harfi; suid ve çalıştırılabilirlik bitlerinin ayarlandığını belirtir.Böylece passwd komutu çalıştığında, o anda çalıştıran kullanıcı değilde root kullanıcısı tarafından çalıştırılıyormuş gibi olacaktır. Ve passwd komutu root haklarıyla çalışınca, /etc/shadow dosyasınıda bir problem olmadan düzenleyebilecektir.

    EK BİLGİ:

    /etc/passwd ‘de kullanıcı hesapları vardır.
    /etc/shadow ‘da şifreler saklıdır.

    Sgid Biti

    Programların o anda çalışan kullanıcıya göre değilde programın üzerindeki grup haklarına göre çalışmasına dayanır.

    ls -l listelemesinde suid ve sgid bitleri “x” harfinin (yani çalıştırma/erişim yetkisinin) olduğu yerdedir. Eğer hem “x” hemde suid/sgid bitleri aktifse listede “s” (küçük harf) olacaktır.”x” biti aktif değilse “S” (büyük harf) olarak görülür.

    Suid Ve Sgid Bitlerinin Değiştirilmesi

    u : user
    g : group
    Yetki vermek için ”+”,yetkiyi kaldırmak içinde “-” işaretleri kullanılır.
    chmod u+s /usr/bin/program_adi

    chmod g-s /home/grup_adi

    Buradaki +/- kısımlarını yapmak istediğiniz işleme göre değiştirebilirsiniz.

    Özgürce...