[Gelistirici] sydbox, bir siyam kedisi
Ali Polatel
polatel at gmail.com
21 Nis 2009 Sal 14:55:26 EEST
Merhabalar,
Bu haftasonu Onur Küçük ile yaptığım konuşmadan sonra bu e-postayı yazma
ihtiyacı hissettim. Sanırım biraz uzun bir e-posta olacak, uzun
e-postalardan hazzetmeyen arkadaşlara duyurulur...
Öncelikle sydbox'ın ne olduğundan biraz bahsedeyim. Sydbox[1] Gentoo'nun
sandbox programındaki birçok yetersizlikten dolayı Exherbo[2] için yazmaya
başladığım bir sandbox uygulaması. İsmini yakın zamanda kaybettiğimiz
Pink Floyd'un ilk solisti Syd Barrett'tan[3] alıyor. Kısmen catbox ve
strace'den kodlar kullanıyor. catbox gibi ptrace(2) tabanlı. Ayar
dosyasını okumak için confuse[4] kütüphanesini kullanıyor. Diğer
bağımlılıkları ise glib ve gobject. İlk versiyonu olan 0.1_alpha'yı
geçen hafta yayınladık[5].
Başlarda catbox'a çok benzemesine rağmen şu an üstüne birçok yenilik
eklenmiş durumda. Kısaca farkları sıralayayım:
- 64 bit desteği
- Daha fazla sistem çağrısını inceleme. Hatırladığım kadarıyla catbox at
ile biten sistem çağrılarını - openat, mkdirat vs. - desteklemiyor.
- Program çalışırken ayar yapmaya yarayan "sihirli" komutlar diye
adlandırdığımız özel sistem çağrıları. Örneğin /etc/ld.so.cache
dosyasını yazılabilir dosyalar listesine eklemek için sydbox altında:
:>/dev/sydbox/write/etc/ld.so.cache
gibi basit bir kabuk komutu kullanılıyor.
/dev/sydbox diye bir dizin aslında yok fakat sydbox open() sistem
çağrılarını gözden geçirip bu tip çağrılara rastlayınca işlem yapıyor.
Tabi bunları işlem yaptıktan sonra
:>/dev/sydbox/lock
kabuk komutuyla kilitlemek ya da
:>/dev/sydbox/exec_lock
kabuk komutuyla ilk karşılaşılan execve() çağrısından sonra
kilitlenmesini emretmek de mümkün.
Daha fazla bilgi için Exherbo'da şu an bunları nasıl kullandığımıza
bakabilirsiniz.[6]
- Paranoyak kullanıcılar için bir paranoyak mod. Bu modda sydbox mümkün
olduğunca bu güvenlik kutusunun kırılmasını engellemeye çalışıyor.
Hala deneysel olan bu modda sydbox sembolik bağlarla muhattap oluyor,
olası yarış durumlarını engellemek için argümanları sembolik bağ olan
sistem çağrıların argümanlarını gerçek dosya yoluyla değiştiriyor.
Başta da değindiğim gibi halen alpha seviyesinde olan sydbox hazır
olduğu zaman Exherbo'da sandbox yerine kullanmayı planlıyoruz. Ayrıca
amacım sydbox'ı Pardus altında da kullanılabilmesi. Bu yüzden sydbox'ı
bir kütüphane ve programcık olarak ayırmayı planlıyoruz.
Şöyle ki:
* libsydbox - Ana kütüphane, exec* kabilesi için "ambalaj" fonksiyonlar,
sydbox_execve(), sydbox_execvp() vs., burda tanımlanacak.
* pysydbox - Kütüphanenin python bağları, "yeni catbox"
* sydbox - Exherbo'da kullanılacak programcık.
Buraya kadar herşey güzel görünüyor açıkçası, fakat size birkaç sorum
olacak:
1. Anlattıklarıma sıcak bakıyor musunuz? Eğer bu beraber çalışma çözümü
mantıklı gelmediyse, sydbox'taki yenilikleri catbox'a taşımak için
yamalar gönderme yolunu da seçebilirim.
2. Glib ve gobject bağımlılıkları sizin için bir sorun oluşturur mu?
Bu iki kütüphane aynı arşivle dağıtılmasına rağmen bazı linux
dağıtımlarında - örneğin debian - iki ayrı paket olarak kullanıcılara
sunuluyor. Pardus'ta bu nasıl yapılıyor bilmiyorum. Glib syslog-ng gibi
sistem paketlerinde kullanılıyor ve gnome'dan ayrı bir parça o yüzden
kde'ciler olarak içiniz rahat olabilir. Gobject'i sadece sinyaller[7]
için kullanıyoruz ve bu bağımlılıktan eğer isterseniz vazgeçebiliriz.
Okuduğunuz için teşekkürler, bu kadar yazı yazdıktan sonra
Syd Barrett'dan birkaç dize eklememek herhalde ayıp olurdu.
Lucifer Sam, Siam cat.
Always sitting by your side,
always by your side.
That cat's[8] something I can't explain.
[1]: http://alip.github.com/sydbox/
[2]: http://www.exherbo.org/
[3]: http://www.sydbarrett.net/welcome.htm
[4]: http://www.nongnu.org/confuse/
[5]: http://polatel.wordpress.com/2009/04/14/sydbox-01_alpha/
[6]: http://github.com/alip/paludis-sydbox/blob/master/paludis/repositories/e/ebuild/sydbox.bash
[7]: http://library.gnome.org/devel/gobject/unstable/signal.html
[8]: http://omploader.org/vMWp5ZA/sermin.jpg
--
Saygılar,
Ali Polatel
-------------- sonraki bölüm --------------
A non-text attachment was scrubbed...
Name: kullanılamıyor
Type: application/pgp-signature
Size: 198 bytes
Desc: kullanılamıyor
URL: <http://liste.pardus.org.tr/gelistirici/attachments/20090421/180f0622/attachment-0002.pgp>
Gelistirici mesaj listesiyle ilgili
daha fazla bilgi