19 Ocak 2007

dosya izinlerindeki s biti

Bazı dosyalarda çalıştırılabilir biti (x) yerine s görebilirsiniz. Bu demek oluyor ki program çalıştırıldığında, çalıştıran değil de dosyanın sahibi effective user olsun. Ama hala real user programı çalıştırandır. Bunu da setuid ailesi fonksiyonlarla değiştirebiliriz.

Neyse bunların nerede lazım olduğuna bakacak olursak, her yerde lazımlar :) Mesela passwd komutuyla şifremizi değiştiriyoruz. Nasıl oluyor da bizim çalıştırdığımız bir program /etc/shadow dosyasını değiştiriyor yetkimiz olmadan. Çünkü bu uygulamalar s biti kullanılan setuid uygulamalarıdır.

alp@AR-deb:~$ ls -l /usr/bin/passwd
-rwsr-xr-x 1 root root 28480 2006-12-07 18:28 /usr/bin/passwd

Gördüğünüz gibi dosyanın sahibi root ve s biti ayarlanmış. Yani çalışınca effective user root olacak.

Hiç yorum yok: