исчезает LD_LIBRARY_PATH
Всем привет. Суть проблемы: запускаю xinit от пользователя. До запуска все переменные окружения установлены в соответствии с /etc/profile. После загрузки оконного менеджера (icewm) переменная LD_LIBRARY_PATH обнуляется. После гугления обнаружил, что данная проблема, вероятнее всего возникает, из-за того, что на установленном busybox стоит бит suid (мне это необходимо), а xinit запускается как su -s /bin/sh user -c xinit. В итоге в "целях защиты динамический загрузчик сбрасывает эту переменную". Если запустить xinit от root - всё нормально, переменная обнаруживется с необходимым мне значением. В источниках, где нашёл указание бит suid в качестве причины, ничего не сказано о том, как проблему-таки решить. Буду признателен, если кто-нибудь подскажет решение или какой-нить метод обойти эту проблему.
Спасибо!
- Для комментирования войдите или зарегистрируйтесь

% su --help Использование: su
% su --help Использование: su [параметры] [имя пользователя] Параметры: -, -l, --login запускать оболочку как регистрационную -m, -p, --preserve-environment не сбрасывать переменные окружения и сохранить запустившую оболочкуПокурить это дело?
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
ну я не такой деревянный, как
ну я не такой деревянный, как может показаться. Если бы всё было так просто... --preserrve-environment не работает. В случае запуска бинарника с SUID-битом всё иначе - LD_LIBRARY_PATH блокируется в целях безопасности, а поиск нужных ELF-файлов осуществляется по стандартным путям. В итоге естественно этот вариант не работает.
Ещё чё покурить? :)