Portál AbcLinuxu, 9. května 2025 21:31

Dotaz: Jak vykillovat processy jineho uzivatele bez suda?

4.4.2016 14:36 kokin
Jak vykillovat processy jineho uzivatele bez suda?
Přečteno: 389×
Odpovědět | Admin
Ahoj, chtel bych poprosit o radu, jak vykillovat procesy jineho uzivatele bez suda ve skriptu? Napadlo me ve skriptu pouzit ssh pristup pres klice a vykillovat procesy, potom ukoncit a pokracovat v behu skriptu pod jinym uzivatelem. Ale je to ponekud tezkopadne

Existuje lepsi reseni? Sudoers v tomto pripade take pravdepodobne nepomuze, je tak?

Pouzivam takovou konstrukci se sudem, kdy si vylistuji vsechny procesy pod uzivatelem a pak je vykilluji, a to udelam pro vsechny uzivatele v seznamu.
for USER in ${USERS[*]}
        do
	getpids $USER
        killpids
        done
Diky
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

4.4.2016 14:51 NN
Rozbalit Rozbalit vše Re: Jak vykillovat processy jineho uzivatele bez suda?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pust to pod rootem. Otazka, jestli by se nedalo tomu "masakru" nejak predejit..
4.4.2016 16:17 kokin
Rozbalit Rozbalit vše Re: Jak vykillovat processy jineho uzivatele bez suda?
Bohuzel je to komplexni aplikace, ktera startuje procesy asi pod 3mi uzivateli... Best practise doporucuje manualne otacet kazdy vecer :) Takze se snazim zakomponovat to do jednoho skriptu bez pouziti suda a roota. Teoreticky sudo su - uzivatel by nemusel vadit, ovsem kdyz jsem to zkousel naposledy, tak mi to bez hesla nefungovalo. A mit ulozene heslo v souboru take neni dvakrat asi super.
4.4.2016 16:25 ttt
Rozbalit Rozbalit vše Re: Jak vykillovat processy jineho uzivatele bez suda?
Udělej si pro každého uživatele svůj skript a nastav mu SUID bit. A pak jeden skript, který spouští ty ostatní. Pokud se ti zdá krkolomné, ještě zvaž to sudo.

4.4.2016 16:44 alkoholik | skóre: 40 | blog: Alkoholik
Rozbalit Rozbalit vše Re: Jak vykillovat processy jineho uzivatele bez suda?
SUID u skriptu? Jsi si jisty?
pavlix avatar 4.4.2016 16:50 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: Jak vykillovat processy jineho uzivatele bez suda?
:D

SUID je kolikrát chyba i u binárky, kde to jde.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
4.4.2016 16:58 ttt
Rozbalit Rozbalit vše Re: Jak vykillovat processy jineho uzivatele bez suda?
No, jistý si nejsem. Přišlo mi to jako špatný, ale patrně funkční nápad. Ale nedošlo mi, že až tak špatný, dík za link.
Jendа avatar 4.4.2016 16:57 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Jak vykillovat processy jineho uzivatele bez suda?
Já bych to dělal pomocí sudo.
User_Alias  PD = kokin
Cmnd_Alias  PDCM = /foo/bar/skript-na-otáčení.sh

PD     ALL= NOPASSWD : PDCM
Škoda, že máš nějaké tajné důvody, kvůli kterým to nejde. Můžeš si udělat suidnutou binárku, která execne ten skript.
4.4.2016 18:50 Filip Jirsák
Rozbalit Rozbalit vše Re: Jak vykillovat processy jineho uzivatele bez suda?
ovsem kdyz jsem to zkousel naposledy, tak mi to bez hesla nefungovalo
V tom případě doporučuju stornovat požadavek „bez suda“ a místo toho se naučit sudo používat. Jestli bude sudo v daném případě vyžadovat heslo je záležitostí jeho konfigurace.

Každopádně manipulovat s procesem může buď vlastník nebo root, obejít to nejde. Takže pokud ten skript má spouštět jiný uživatel, nic jiného než změna efektivního uživatele vám nepomůže. A k tomu je sudo docela vhodný nástroj, který vám umožní udělat to, co potřebujete, a přitom dotyčnému nedávat jiná práva. Když budete vymýšlet nějaké obezličky, budete znova vymýšlet sudo – a je hodně pravděpodobné, že ho vymyslíte děravé.

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.