Bir sürece aidiyetini değiştirme yeteneği mahremiyetin korunması amacıyla ister istemez verilebileceği gibi kasıtlı olarak da verilebilir. Bazı olası sorunlar sebebiyle aidiyetin değiştirilmesi özel koşullarla sınırlıdır.
Kendi kullanıcı ve grup kimliklerinizi keyfi olarak belirleyemezsiniz; bunu sadece yetkili süreçler yapabilir. Bir süreç için ise, aidiyeti değiştirmenin normal yolu bunu belli bir kullanıcı ya da gruba önceden ayarlamaktır. Bu bir dosyanın erişim kipinin setuid ve setgid bitleri ile yapılır. Bkz.
Erişim İzinleri için Kip Bitleri.
Bir çalıştırılabilir dosyanın setuid biti etkinse, bu dosyanın çalıştırılması sürece üçüncü bir kullanıcı kimliği sağlar: dosya kullanıcı kimliği. Bu kimlik dosyanın sahibinin kimliğine ayarlanır. Bundan hareketle, sistem etkin kullanıcı kimliği dosyanın kullanıcı kimliğine değiştirir. Gerçek kullanıcı kimliği ise değişmeden kalır. Benzer şekilde, setgid biti etkinse, dosyanın grup kimliği dosyanın grup kimliğine ayarlanır ve sistem etkin grup kimliğini dosya grup kimliğine değiştirir.
Bir süreç bir dosya kimliğine (kullanıcı ya da grup) sahipse, herhangi bir anda kendi etkin kimliğini kendi gerçek kimliğine ve geriye kendi dosya kimliğine değiştirebilir. Yazılımlarda bu özellik, gerçekten ihtiyaç duyulması dışında özel ayrıcalıklarını terketmesi için kullanılır. Böylece bir yazılımın ayrıcalıklarının uygunsuz bazı şeyler için kullanılması bir bakıma önlenir.
| Taşınabilirlik Bilgisi |
---|
Eski sisitemlerden bazıları dosya kimliklerini içermez. Bir sistem bu özelliğe sahipse derleyicide _POSIX_SAVED_IDS tanımlıdır. (POSIX standardında dosya kimliklerinden "kayıtlı kimlikler" (saved IDs) diye bahsedilir.) |
Dosya Öznitelikleri bölümünde dosya kipleri ve erişilebilirlik hakkında daha ayrıntılı bilgi bulabilirsiniz.