Portál AbcLinuxu, 14. května 2025 02:54

Dotaz: ulimit, ale pro jiný procež než $$

10.10.2006 12:06 vencas | skóre: 32
ulimit, ale pro jiný procež než $$
Přečteno: 182×
Odpovědět | Admin
Existuje nějaké systémové volání jako setrlimit, které by umožnilo nastavit limity, aůe na jiném procesu než na volajícím (samozřejmě s přísušnými právy atp)?

Případně lze to nějak udělat přes /proc (koukal jsem tam, ale nic jsem nenašel)?

Dík všem.

(PS ano, vím, že existuje pam-limits a /etc/security/limits.conf, ale já bych to rád at runtime)
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

10.10.2006 22:31 _
Rozbalit Rozbalit vše Re: ulimit, ale pro jiný procež než $$
Odpovědět | | Sbalit | Link | Blokovat | Admin
ostre sledovana otazka, protoze jsem hledal asi 3 hodiny, ale blbe, ze jsem ni nenasel. cca 2 roky zpet, tak jsem to resil potupne ze skriptu pres ulimit a spokojil jsem se s tim, ze pro aktualni konfiguraci jsem se dival na ten skript...
11.10.2006 10:12 vencas | skóre: 32
Rozbalit Rozbalit vše Re: ulimit, ale pro jiný procež než $$
Odpovědět | | Sbalit | Link | Blokovat | Admin
Našel jsem, že v jádru se to dělá takhle: current->signal->rlim[RLIMIT_CORE] = (struct rlimit){0, 0};. Dokázal by mi někdo, kdo se vrtá v jádru, říci, jak to přepsat, aby místo current bylo libovolné PID? Díval jsem se do LXR, ale trochu jsem se v tom ztratil. Představuju si to asi takhle, mohl by to někdo skouknout nebo navrhnout něco lepšího? Dík.
pid_t pid;
task_t *p;
read_lock(&tasklist_lock);
p = find_task_by_pid(pid);
p->signal->rlim[RLIMIT_CORE] = (struct rlimit){RLIM_UNLIMITED,RLIM_UNLIMITED};
read_unlock(&tasklist_lock);
17.10.2006 15:26 _
Rozbalit Rozbalit vše Re: ulimit, ale pro jiný procež než $$
Odpovědět | | Sbalit | Link | Blokovat | Admin
napada me snad jen attachnout pres ptrace nejak ten proces a pak zkusit nejakou strasne programatorsky cistou vec s farmarskymi privlastky...

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.