[linux-l] Re: Keine Limits

Oliver Bandel oliver at first.in-berlin.de
Di Feb 6 21:12:16 CET 2007


On Tue, Feb 06, 2007 at 12:45:02PM +0100, Volker Grabsch wrote:
> Hallo Oliver,
> 
> ich beantworte diesen Teil mal öffentlich, weil's auch für andere
> interessant sein könnte.
> 
[...]

Bitte sowas zukünftig vorher abklären.
Danke.

> 
> 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.

Ja, das ist klar.
Aber Du drehst dann ja garnix rückwärts... ;-)

Also stimmt es schon, was ich schrieb.

root kann aber wohl auch Werte erhöhen,
jedenfalls via C-API (und auf BSD (OS-X)).
Ob die Shells das mitmachen?


man getrlimit
bzw.
man setrlimit

   "Only the super-user may raise the maximum limits.  Other users may only
    alter rlim_cur within the range from 0 to rlim_max or (irreversibly)
    lower rlim_max."

Vielleicht ändern die Shells also rlim_max (hard limit).
Jedenfalls macht das die bash allem Anschein nach so.

Gruß,
   Oliver



Mehr Informationen über die Mailingliste linux-l