Date: Tue, 2 Oct 2001 09:59:12 +0200 (CEST) From: Christian Kratzer <ck@cksoft.de> To: Igor Melnichuk <simplyi@skif.net> Cc: <security@FreeBSD.ORG> Subject: Re: login.conf & FreeBSD 4.4 Message-ID: <Pine.LNX.4.33.0110020953290.6866-100000@localhost.cksoft.de> In-Reply-To: <004701c14b0c$ce44f140$45e03ac3@skif.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi, On Tue, 2 Oct 2001, Igor Melnichuk wrote: > I need advise. > > I have a server with installed FreeBSD 4.4 RELEASE . > > Limiting users I've created new class "webuser" in login.conf ( fixed limit > on resource - max mem usage, cpu time, core dump size) and do all necessary > steps (compile base `cap_mkdb /etc/login.conf` and assign new class to user > `chclass user1`) > > But in fact this _not_ works when I logged like user1 or run perl script > (infinite loop) with his privileges. > > On machine with FreeBSD 4.3 RELEASE this works well (kernel kill script > according to login.conf rules) > > Any ideas ? > > PS I've read FreeBSD 4.4-RELEASE Errata ( > http://www.freebsd.org/releases/4.4R/errata.html ) 2 Security Advisories > (Support for per-user ~/.login_conf files) I believe it has no relation to > problem > > login.conf > -------------- > webuser:\ > :cputime=10s:\ > :filesize=unlimited:\ > :datasize=20M:\ > :stacksize=20M:\ > :coredumpsize=unlimited:\ > :memoryuse=20M:\ > :memorylocked=20M:\ > :maxproc=20:\ > :openfiles=20:\ > :priority=0: > --------------- If you are talking about cgi scripts run by apache you might want to patch suexec to do this. There is nothgin in apache that would normally set the requested privilidges. we added following to apache-x-x-x/src/support/suexec.c to actually enforce setting of resource limits. There is nothing in apache that would normally set these up for you. At the top after the includes ---snipp--- #include <stdarg.h> #ifdef __FreeBSD__ # include <login_cap.h> #endif #include "suexec.h" ---snipp--- Further to the bottom shortly before setting the euid ---snipp--- #ifdef __FreeBSD__ /* * set resource limits from /etc/login.conf * allows one to limit cpu and memory consumption by cgi's */ setclasscontext( "apache-suexec", LOGIN_SETRESOURCES|LOGIN_SETPRIORITY ); #endif /* * setuid() to the target user. Error out on fail. */ if ((setuid(uid)) != 0) { log_err("emerg: failed to setuid (%ld: %s)\n", uid, cmd); exit(110); } ---snipp--- Greetings Christian -- Christian Kratzer, Schwarzwaldstr. 31, 71131 Jettingen Email: ck@cksoft.de Phone: +49 7452 889-135 Fax: +49 7452 889-136 FreeBSD spoken here! To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-security" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.LNX.4.33.0110020953290.6866-100000>