Назад | Перейти на главную страницу

выполнение команды с помощью sudo дает другой результат

Я подключаюсь к root через ssh на сервере debian squeeze. Если я выполню команду:

 /usr/lib/nagios/plugins/check_procs -w 1:1 -c 1:1 -a '/usr/local/freeswitch/bin/freeswitch'

Получаю результат:

PROCS OK: 1 process with args '/usr/local/freeswitch/bin/freeswitch'

Если я выполню:

sudo /usr/lib/nagios/plugins/check_procs -w 1:1 -c 1:1 -a '/usr/local/freeswitch/bin/freeswitch'

Я получил:

PROCS CRITICAL: 2 processes with args '/usr/local/freeswitch/bin/freeswitch'

Вот мой / etc / sudoers:

Defaults    env_reset
root    ALL=(ALL) ALL
nagios      ALL=(ALL) NOPASSWD: /usr/lib/nagios/plugins/

Однако sudo также выполняет команду как root, я получаю другой результат. Как это может быть? На другой машине с debian lenny у меня нет проблемы, обе команды дают одинаковый результат.

Я думаю, что то, что вы видите, является результатом того, что объем командной строки возвращается базовой командой ps, которая используется check_procs.

В случае sudo blah ... blah возможно, что вся команда sudo blah .... blah отображается как один процесс, а также просто как один процесс.

Это похоже на то, почему, когда вы используете конвейерные команды, такие как grep, обычно нужно включать команду, чтобы избавиться от самой команды grep.

Например:

     ps -aef | grep -v grep | grep xinetd