Linux'ta özel izinler, dosyalar veya dizinler üzerinde ayarlanabilen ve ek yetenekler veya kısıtlamalar sağlayan gelişmiş izinlerdir.
Ayrıcalıkları ve sistem güvenliğini normal erişim haklarından (okuma, yazma, yürütme) daha hassas bir şekilde yönetmenizi sağlarlar. Ayrıca, Linux'ta özel erişim hakları bir kullanıcı, grup ya da dosyalar için özel yetenekler ya da kısıtlamalar sağlar. Bunlar aşağıdaki erişim haklarını içerir:
hakkı (execute
): yürütülebilir dosyaları çalıştırır veya belirli eylemleri gerçekleştirmek için bir komut kullanır.Okuma
: Bir dosya ya da dizinin içeriğini görüntüleme.Yazma
: Bir dosyanın içeriğini değiştirme veya bir dizinde dosya oluşturma, değiştirme veya silme.Bir Linux sisteminde, belirli bir kullanıcı veya kullanıcı grubu için hangi eylemlere izin verilebileceğini veya reddedilebileceğini belirleyen dosyalar ve dizinler için çeşitli erişim hakları vardır. Linux'ta dosyalar için başlıca özel erişim hakları şunlardır:
"setuid
"(suid
): yürütülebilir bir dosyada"setuid
" izni ayarlandığında, süreç dosyayı çalıştıran kullanıcı yerine dosya sahibinin ayrıcalıklarıyla çalışır. Bu, belirli görevler için geçici bir ayrıcalık sıfırlaması sağlar."setgid
"(sgid
): yürütülebilir bir dosyada"setgid
" izni ayarlandığında, süreç, onu başlatan kullanıcının grubunun değil, dosya sahibinin grubunun ayrıcalıklarıyla başlatılır. Bu, aynı grubun üyeleri arasında dosya ve kaynak paylaşımına izin verir."yapışkan bit
": bir dizin üzerinde"yapışkan bit
" ayarlamak, diğer kullanıcıların dizine yazma ayrıcalıkları olsa bile, yalnızca dosya sahibinin dizin içindeki dosyaları silmesine veya taşımasına izin verir. Bu, diğer kullanıcıların dosyaları silmesini veya değiştirmesini önlemek için /tmp gibi bir dizinin genel kullanımı için kullanışlıdır.Genellikle bu özel izinler standart izinlerle (rwx) birlikte belirtilir ve sembolik ya da sayısal değerlerle gösterilir. Örneğin, setuid
çalıştırılabilir bir dosyanın sahibi için"x
" yerine"s
" ile gösterilir.
Linux'ta özel dosya izinlerini ayarlamak ya da değiştirmek isterseniz, chmod komutunu uygun argümanlarla birlikte kullanabilirsiniz. Örneğin, çalıştırılabilir bir dosya üzerinde"setuid
"ayarlamak
için"chmod u+s dosya adı
" komutunu kullanabilirsiniz.
Özel erişim hakları (SUID, SGID ve Sticky bit) Linux'ta chmod
komutu kullanılarak dosyalar veya dizinler üzerinde ayarlanabilir.
SUID ayarlamak için:
chmod +s file_name
Bir dizin üzerinde SGID ayarlamak için:
chmod +s directory_name
Bir dizine Sticky bit yüklemek için:
chmod +t derectory_name
Not: Dosyalara SUID yüklemek sistem için potansiyel bir güvenlik tehdidi oluşturabileceğinden kısıtlanması önerilir. Özel erişim haklarını dikkatli bir şekilde ve yalnızca iyi gerekçelendirildiği ve güvenlik açığı yaratmadığı durumlarda kullanın.
Ayarlanmış olan özel erişim haklarını görüntülemek için `ls-l`
komutunu kullanabilirsiniz. Özel izinler de dahil olmak üzere izinler, dosya veya dizin izinlerinden sonra alfabetik veya sayısal değerler olarak görüntülenecektir.