Portál AbcLinuxu, 5. května 2025 02:56
Řada věcí se dneska řeší přes D-Bus a ten má vlastní systém oprávnění. Představ si to jako objektový systém, kde máš různé objekty (reprezentující HW zařízení nebo systémové prostředky), na nich máš metody (a vlastnosti a signály) a pomocí politik (viz adresář /etc/dbus-1/system.d/
) můžeš uživatelům nastavovat oprávnění volat jednotlivé metody. Takže tam máš mnohem větší granularitu než jen host-uživatel-root.
D-Bus má dvě sběrnice (teoreticky jich může být víc, ale to se moc nepoužívá). Jedna je pro uživatelskou relaci (Session Bus), tam najdeš objekty a metody desktopových aplikací jako je ovládání hudebního přehrávače atd. A druhá je systémová (System Bus), kde zjistíš třeba stav baterky (notebooku, UPS, myši…), můžeš ovládat disky, síť atd.
Projdi si tu systémovou sběrnici (GUI: qdbusviewer
, d-feet
, CLI: qdbus
) a podívej se, jestli tam jsou akce, které potřebuješ těm správcům povolit. A podle toho si uprav ty politiky (nebo zjistíš, že už ta práva mají…).
Nebo je tu klasický postup: sudo
– tím povolíš vybraným uživatelům spouštět vybrané programy pod jinými uživateli (typicky pod rootem).
Když ti nebudou stačit možnosti poskytované tvojí distribucí, tak si můžeš napsat vlastní program, který se bude volat přes sudo
, nebo vlastní D-Bus službu (což překvapivě není až tak obtížné – zkoušel jsem si to v rámci cadMousePro), pomocí které vystavíš objekty/metody a zpřístupníš je vybraným uživatelům.
A pak jsou případy, kdy je řešení nikoli technické, ale spíš společenské – donutit ty lidi, aby se chovali slušně a nezneužívali svoje pravomoci (a mít možnost prokázat, zpětně odhalit, pokud je zneužijí). Tady můžeš nasadit auditd
, dát lidem možnost přepnout se na roota nebo libovolné sudo
, ale logovat všechny jejich akce na vzdálený server (ke kterému máš přístup jen ty a oni z něj ty logy nemohou smazat). Alternativně lze mít nějaký terminál, přes který budou servery spravovat, a který bude všechnu jejich činnost nahrávat.
Trochu mi to připomíná něco jako školní projekt. Tedy umožnit studentům, aby v nějakém rozsahu měli admin práva, ale zároveň nezničili systém. Myslím si, že to nijak moc nejde.Jde. Je-li ten systém disklessový. Export z NFS je RO, takže i když má lokálního roota do něj nehrábne. A po restartu je (pro uživatele guest) ten stroj vždy opět ve výchozím stavu, jelikož má všechno v RAM.
nping -e $sitove_rozhrani --arp-reply --arp-sender-mac aa:bb:cc:dd:ee:ff --arp-sender-ip $ip_adresa 0.0.0.0 --count 0 --delay 50msPak si zkuste z jiného zařízení komunikovat s
$ip_adresa
. Obvykle na $ip_adresa
nic nedojde.
nping
se obvykle nachází v balíku nmap
.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.