Ve zprávičce to je krátce vysvětleno. Moderní desktopová aplikace si má navýšení práva v případě potřeby vyžádat přes PolicyKit (viz deset let starý článek na LWN) a ne být celá puštěná pod rootem. Zrovna GParted to řeší tak, že volá pkexec a nechá se spustit celý pod rootem. Je to nejjednodušší řešení, ale ne nejbezpečnější.
Obecně se doporučuje mít pod rootem spuštěno co nejméně kódu, protože to je poměrně velké bezpečnostní riziko. Proto třeba i démoni často po startu udělají nutné minimum (nabindují se na nízký port) a pak práva roota zahodí a běží pod běžným neprivilegovaným uživatelem. Poblázněný nebo útočníkem ovlivněný program pak nemá moc ovládnout či zlikvidovat celý systém.
Takže v bashi jednoduše požádám polkit, aby následující příkaz spustil pod rootem a ten se sám rozhodne, jakým způsobem si ty credentials vyzjistí?
Takhle se to přece dělalo v bashi - když běžela Xka, použil se gksu(do), jinak su(do) a heslo se zadalo v terminálu nebo v okně gksu.
Ano, každý desktop má svého autorizačního klienta pro Polkit, který výzvu pro zadání hesla zobrazí a výsledek předá zpět Polkitu. Může si ale člověk třeba definovat pravidlo, že určitý uživatel/skupina dostane práva ke konkrétní operaci automaticky bez zadávání hesla. Pěkné ukázky mají třeba na wiki Archu: https://wiki.archlinux.org/index.php/Polkit
Je tam i návod, jak spouštět pomocí Polkitu GParted.
>> dustin: Grafický dotaz na heslo v gksu/gksudo se používá často v jednoduchých skriptech, které je potřeba spouštět v GUI prostředí. Jak se tohle pak bude řešit?
yad --title "Heslo?" --entry --hide-text | sudo -S program
pokud YAD neznas, jde o forknute/vylepsene Zenity a kazdy kdo pise script pro pouziti v/s GUI by to znat mel ;-)