[Gelistirici] COMAR 2.0 - Öntanımlı Yetkiler

Bahadır Kandemir bahadir at pardus.org.tr
17 Oca 2008 Per 11:03:07 EET


Tuesday 08 January 2008 12:38:04 tarihinde Doruk Fisek şunları yazmıştı:
> Yapilabilir mi bilmiyorum ama standart paket kurup/kaldirmak disinda ek
> yetkilendirme(ler) cok tatli olurdu.

Paket yönetim arayüzünde, Pisi ve Package-Manager arasında ÇOMAR yerine 
PackageKit kullanılabilir demiştim, sanırım öyle olmayacak ve ÇOMAR 
kullanılmaya devam edilecek gibi görünüyor. Karar verecek olan Çağlar ve 
Gökçen.

PackageKit'te [1] bu tür detaylı bir yetkilendirme [2] yok. "Sadece kendi 
kurduğu paketleri kaldırabilsin", "sadece application.games bileşeninden 
paket kurabilsin" şeklinde politika belirlenemiyor. ÇOMAR'da ise detaylı bir 
yetki denetimi için erişim denetimini ÇOMAR kodundan çıkarıp, kayıt edilen 
betiklere taşımak gerekiyor :

# canDo() : PolicyKit ile yetki sorgulayan metod olsun

def install(package_name):
    # access control
    db = pisi.db.packagedb.PackageDB()
    package = db.get_package(package_name)
    if not canDo("install.package") or
       not canDo("install.comp.%s" % package.partOf):
        fail("policy", "Access denied")
    # pisi operation
    ...

def remove(package_name):
    # access control
    db = pisi.db.installdb.PackageDB()
    package = db.get_package(package_name)
    if not canDo("remove.package") or
       not (package.installer == uid() and canDo("remove.package.self")):
        fail("policy", "Access denied")
    # pisi operation
    ...

Ve, canDo() içinde kullanılabilecek her anahtar, politika dosyasında tanımlı 
olmalı:

    <action id="tr.org.pardus.comar.pisi.remove.package">
    <action id="tr.org.pardus.comar.pisi.remove.package.self">
    <action id="tr.org.pardus.comar.pisi.install.package">
    <action id="tr.org.pardus.comar.pisi.install.comp.application.games">
    <action id="tr.org.pardus.comar.pisi.install.comp.desktop.kde">
    <action id="tr.org.pardus.comar.pisi.install.comp.programming.languages">
    ...

Ne kadar gerekli, emin değilim. Ama yapılabilir birşey, not olarak burada 
dursun. Ayrıntıları, DBus & ÇOMAR oturumunda görüşürüz gerekirse.

[1] http://www.packagekit.org/
[2] http://tinyurl.com/2j324l
-------------- sonraki bölüm --------------
A non-text attachment was scrubbed...
Name: kullanılamıyor
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
URL: <http://liste.pardus.org.tr/gelistirici/attachments/20080117/0b716326/attachment-0002.pgp>


Gelistirici mesaj listesiyle ilgili daha fazla bilgi