tzv. capability (Was: Sudo - po update prestal akceptovat \,)

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Neděle Březen 3 17:17:14 CET 2002


On Thu, 21 Feb 2002, Pavel Machek wrote:

> Tohle jsem mel udelany lip: V binaru byla elfova .note ktera rikala
> ktere capability. No a pak se mu proste dal setuid root, aby vsichni
> vedeli, ze ten executable je divny.

Ja vim, zes' neco takoveho udelal. Ale nelibilo se mi na tom to,
ze clovek kvuli tomu musel menit samotne programy a ne jen jejich
metadata. Navic se mi pro me ucely hodilo privilegia asociovat volitelne
i s celym uzivatelskym uctem a ne jen s jednotlivym programem. Jsem
si vedom, ze z toho, ze by nejake privilegium mohly vyuzivat jen
specifikovane programy (nikoli uplne libovolne), mohou plynout urcite
(kdyz se to udela chytre, tak dokonce znacne) bezpecnostni vyhody,
ale kdyz je ocekavanym zpusobem nasazeni testovani site, tak jsou tyto
vyhody dokonale potlaceny znacnym nepohodlim plynoucim z toho, ze by
kazdy novy/upraveny program musel "schvalit" root, aby zacal fungovat.


On Thu, 21 Feb 2002, Pavel Machek wrote:

> Co takhle 
> rwsrwxrwx gimmecaps

Binarka, co ma setuid (predpokladam, ze na roota) a zaroven do ni muze
kdokoli zapisovat...to ma byt nejaky vtip?!

> binar, ktery pustis, a on zkontroluje pod jakym uzivatelem jsi, a
> podle toho spusti tebou specifikovanou vec s rootem specifikovanejma
> capabilitama? [Jestli je mozny menit capability i nekomu jinymu nez
> sobe, tak by to slo i hezcejc.]

Problem je v tom, ze podle mych poznatku to nejde skoro nijak, aniz by
se vrtal v jadre: 1. chci-li je nastavit sam na sobe, pak to musim udelat
jako root a vsechno ztratim v okamziku, kdy se prepnu na jineho uzivatele
(pro ucely pristupu k fs neni uplne dobre si ponechat euid 0), 2. chci-li
je nastavit na nekom jinem, musim mit CAP_SETPCAP, kterezto privilegium je
ve standardnim jadre docela dobre zazdene.


--Pavel Kankovsky aka Peak  [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."



Další informace o konferenci Linux