Переменные при запуске из под "sudo"
inspirra 7 сентября, 2008 - 16:27
Ни как не могу понять - откуда берутся переменные при запуске из под 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'?
В том то и вопрос - откуда тогда берет переменные sudo? С 'sudo bash -c "env"' и просто 'sudo env' - дает идентичный результат.
Есть мысль, что
Есть мысль, что man sudo ответит на эти и многие другие вопросы
Пожалуйста, не описывайте своё железо в подписи
Скорее man
Скорее man sudoers
____________
Экономь электроэнергию! Выключи NumLock!
А вот
А вот несогласен
Пожалуйста, не описывайте своё железо в подписи
Всем спасибо!
Курение man sudoers на предмет флагов (env_*, *set_) и man sudo (-E, -H) - прояснило ситуацию.
re
Видимо оба мана нужны; и вообще - манов лишних не бывает :)
____________
Экономь электроэнергию! Выключи NumLock!