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 */

Ответить