On Mon, Oct 10, 2011 at 01:45:46PM +0400, Constantin Stefanov wrote:
> Slawa Olhovchenkov wrote:
> > On Mon, Oct 10, 2011 at 01:39:29PM +0400, Constantin Stefanov wrote:
> >
> >> Slawa Olhovchenkov wrote:
> >>>> Приветствую.
> >>>>
> >>>> Коллеги, а как получить корку от sudo? Он у меня падает где-то в pam,
> >>>> хочу понять, что да как. И никак не выходит.
> >>>
> >>> ну так просто под gdb запусти
> >> (gdb) file /usr/local/bin/sudo
> >> /usr/local/bin/sudo: Permission denied.
> >>
> >> Теперь вопрос, как разрешить gdb отлаживать sudo. Сходу ни гугль, ни кто
> >> другой ответа не дали.
> >
> > su
> > # chmod a+r /usr/local/bin/sudo
> >
> > рут-то у тебя есть поди.
> Есть, коль я sysctl менял. Но тоже не полегчало:
> (gdb) file /usr/local/bin/sudo
> Reading symbols from /usr/local/bin/sudo...(no debugging symbols
> found)...done.
> (gdb) run -i
> Starting program: /usr/local/bin/sudo -i
> (no debugging symbols found)...(no debugging symbols found)...(no
> debugging symbols found)...sudo: must be setuid root
>
> Program exited with code 01.
> (gdb)
>
> Теперь sudo почему-то считает, что она не setuid root. А на деле
> new-gw% ls -l /usr/local/bin/sudo
> -r-sr-xr-x 2 root wheel 1099192 Oct 10 10:40 /usr/local/bin/sudo
> очень даже.
ну раз тебе все равно sudo с символами пересобирать...
#if defined(RLIMIT_CORE) && !defined(SUDO_DEVEL)
/*
* Turn off core dumps.
*/
(void) getrlimit(RLIMIT_CORE, &corelimit);
memcpy(&rl, &corelimit, sizeof(struct rlimit));
rl.rlim_cur = 0;
(void) setrlimit(RLIMIT_CORE, &rl);
#endif /* RLIMIT_CORE && !SUDO_DEVEL */