Subject: Re: core vs seteuid()
To: None <firstname.lastname@example.org>
From: Jorgen Lundman <email@example.com>
Date: 05/30/2003 16:25:23
(sorry David, didn't mean to reply only to you).
Can we make that somewhat more dynamic, sysctl or similar. Oh well :)
Guess I can start it in gdb, and not do the background fork()...
David Maxwell wrote:
> On Fri, May 30, 2003 at 11:17:23AM +0900, Jorgen Lundman wrote:
>>Program calls seteuid() a fair bit, but if it ever dies I need the core to
>>remove any bugs. I know it may be undesirable to have core files from
>>seteuid programs in a multi user machine, but since these are dedicated
>>development machines that is not a concern.
>>Are there easy ways to make sure it dumps core, _always_? Even if I have to
>>force them into a special directory or whatever. I would rather not have to
>>hack at kernel sources and rebuild the kernel too :)
> That's what you'll need to do...
> * Dump core, into a file named "progname.core" or "core" (depending on
> * value of shortcorename), unless the process was setuid/setgid.
> coredump(struct proc *p)
> struct vnode *vp;
> struct vmspace *vm;
> struct ucred *cred;
> struct nameidata nd;
> struct vattr vattr;
> int error, error1;
> char name[MAXPATHLEN];
> vm = p->p_vmspace;
> cred = p->p_cred->pc_ucred;
> * Make sure the process has not set-id, to prevent data leaks.
> if (p->p_flag & P_SUGID)
> return (EPERM);
> So... Comment out those last two lines - build a kernel, and you're all
Jorgen Lundman | <firstname.lastname@example.org>
Unix Administrator | +81 (0)3 -5456-2687 ext 1017 (work)
Shibuya-ku, Tokyo | +81 (0)90-5578-8500 (cell)
Japan | +81 (0)3 -3375-1767 (home)