[linux-l] Re: Keine Limits

Volker Grabsch vog at notjusthosting.com
Di Feb 6 12:45:02 CET 2007


Hallo Oliver,

ich beantworte diesen Teil mal öffentlich, weil's auch für andere
interessant sein könnte.


On Tue, Feb 06, 2007 at 12:31:32AM +0100, Oliver Bandel wrote:
> Während ich unter Linux und Mac den Wert wenigstens verringern kann
> aber hinterher nicht mehr vergrößern (nicht malauf den Ausgangswert),

Das stimmt so nicht ganz.

Ja, ein Prozess kann seine ulimits immer nur runtersetzen, und zwar
irreversibel. Per Design. Und das ist Gut So[tm]. Das gilt auch
für chroot, für Capabilities (siehe VServer-Patch), und so weiter.

Aber du kannst den Wert trotzdem "zurücksetzen", indem du *zuerst*
einen Subprozess aufrufst, und *dieser* sich dann via ulimit kastiert.
Der Subprozess kriegt das Limit nicht mehr hochgesetzt, aber der
Elternprozess wird nicht beeinflusst.

Ich finde das ganze sehr gut designt, und wüsste auch keinen
flexibleren Weg, der dennoch ausbruchsicher ist.


Das kannst du an einer Shell super ausprobieren:

    $ ulimit -u
    unlimited
    $ sh
        $ ulimit -u 10
        $ ulimit -u
        10
        $ exit
    $ ulimit -u
    unlimited


Viele Grüße,

    Volker

-- 
Volker Grabsch
---<<(())>>---
Administrator
NotJustHosting GbR



Mehr Informationen über die Mailingliste linux-l