Portál AbcLinuxu, 12. května 2025 07:51

Dotaz: Problém při změně UID procesů

10.11.2014 11:34 Ondra
Problém při změně UID procesů
Přečteno: 160×
Odpovědět | Admin
Ahoj všem,

mám vytvořeného uživatele 'app', který je (musí být) členem několika skupin a pod kterým mi běží služby:

root@czspectator:~$ su app
app@czspectator:/home/ondra$ id
uid=1000(app) gid=1000(app) skupiny=1000(app),29(audio),44(video),106(pulse),107(pulse-access),1001(datastorage)

Problém mám při démonizování procesu, kdy se proces (služba) nejdříve spustí jako 'root' a pak se pomocí setuid a setgid práv zbaví (na uid=1000, gid=1000). (Mimochodem, stejně to dělá i např. M/Monit, kde mi to nefunguje také.)

Jenže potíž je v tom, že když v daném procesu nyní externě spustím příkaz 'id', vypíše se pouze:

uid=1000(app) gid=1000(app) groups=1000(app)

Tj. seznam skupin není kompletní a aplikace tak nemá některá práva. Nevíte někdo, jak docílit toho, aby se načetly i sekundární skupiny (aniž bych to chtěl spouštět pomocí su app -c ...).

Díky
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

10.11.2014 13:34 luky
Rozbalit Rozbalit vše Re: Problém při změně UID procesů
Odpovědět | | Sbalit | Link | Blokovat | Admin
Takhle to nikdy fungovat nemuze, protoze clenstvi uzivatele ve skupinach neni kernelu vubez zname. Pri loginu je to nastavene syscallem setgroups, seznam skupin si muzete nacist napr. pomoci getgrouplist (knihovni funkce).

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.