Az Udev / D-Bus rendszer - a modern asztali Linuxok alapja

Németh Tamás <>
Nyugat-magyarországi Egyetem

A modern — különösen desktop jellegű — Linux rendszerek alapköve az udev és D-Bus rendszerekből és kiegészítőikből felépülő infrastruktúra, a működésük mégis kevéssé ismert, és átfogó szakirodalom sem igazán létezik hozzájuk. Az infrastruktúra központjában a D-Bus nevű interprocessz-kommunikációs protokoll (és annak referenciamegvalósítása) áll. A D-Bus üzenetek továbbítását és forgalomirányítását a dbus démon végzi Unix Domain Socketeken keresztül, míg a redszer alacsonyabb rétegeiben a kernellel szorosan összefonódó, netlink csomagokkal kommunikáló udev rendszer dolgozik. A D-Bus csatorna az azt használó alkalmazások fejlesztői számára komponens alapú rendszerként tűnik fel, amely lehetővé teszi, hogy a hozzá kapcsolódó processzek objektumokat hozzanak létre, és bocsássanak egymás rendelkezésére, és ezen objektumok adattagjain, illetve metódusain keresztül különböző szolgáltatásokat nyújtsanak. Ezen szolgáltatások igénybevevői többnyire felhasználói alkalmazások, a szolgáltató ágensek pedig általában
privilegizált rendszerfolyamatok. A különböző jogosultsági szinteken futó processzek között közvetítő D-Bus rendszer a modern UNIX rendszerek biztonsági modelljének fontos építőkövévé kezd válni, annál is inkább, mivel olyan biztonsági modellel és szerkeszthető házirenddel rendelkezik, amelyek lehetővé teszik a rendszeradminisztrátorok számára, hogy testre szabhassák, mely felhasználók milyen privilegizált szolgáltatásokat milyen körülmények között vehessenek igénybe.

Az előadásban a D-Bus és udev szolgáltatások köré épülő infrastruktúra különböző szintjein működő fontosabb szolgáltatásokat, és a rendszer egészének biztonsági modelljét mutatom be néhány gyakorlati példaval kiegészítve.