Переменные при запуске из под "sudo"

Ни как не могу понять - откуда берутся переменные при запуске из под sudo? При запуске "sudo env" из под пользователя и из под root'а(su -) - в PATH есть пусть до "/usr/kde/4.1/*" а из под sudo этого пути нет.

user# env | egrep ^PATH

  PATH=/usr/kde/4.1/bin:/usr/local/bin:/usr/bin:/bin:\
       /opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/4.3.1:\
       /usr/kde/3.5/bin:/usr/qt/3/bin:/usr/games/bin

user# sudo bash -c "env | egrep ^PATH"

  PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:\
       /usr/local/sbin:/opt/bin:/usr/kde/3.5/sbin:\
       /usr/kde/3.5/bin:/usr/qt/3/bin

user# su -
root$ env | egrep ^PATH

  PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:\
       /usr/bin:/sbin:/bin:/opt/bin:\
       /usr/i686-pc-linux-gnu/gcc-bin/4.3.1:\
       /usr/kde/4.1/sbin:/usr/kde/4.1/bin:/usr/kde/3.5/sbin:\
       /usr/kde/3.5/bin:/usr/qt/3/bin

Некорректно

Некорректно поставленный вопрос. Не откуда sudo берет переменные, а откуда их берет su =). su запускает bash, тот, рано или поздно, доходит до /etc/profile, который забивает переменные. Вероятно bash -c этого не делает. Ровно как не делает этого sudo =)

откуда их берет 'sudo env'?

Night Nord написал(а):
<...> Вероятно bash -c этого не делает. Ровно как не делает этого sudo =)

В том то и вопрос - откуда тогда берет переменные sudo? С 'sudo bash -c "env"' и просто 'sudo env' - дает идентичный результат.

Есть мысль, что

Есть мысль, что man sudo ответит на эти и многие другие вопросы


Пожалуйста, не описывайте своё железо в подписи

Скорее man

Скорее man sudoers
____________
Экономь электроэнергию! Выключи NumLock!

А вот

Всем спасибо!

Курение man sudoers на предмет флагов (env_*, *set_) и man sudo (-E, -H) - прояснило ситуацию.

re

krigstask написал(а):
А вот несогласен

Видимо оба мана нужны; и вообще - манов лишних не бывает :)
____________
Экономь электроэнергию! Выключи NumLock!

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".