Victor Sudakov написал(а) к All в Jan 19 15:46:40 по местному времени:
Dear All,
В /usr/sbin/service в конце присутствует "env -i":
for dir in /etc/rc.d $local_startup; do
if [ -x "$dir/$script" ]; then
[ -n "$VERBOSE" ] && echo "$script is located in $dir"
exec env -i НOME=/ PATН=/sbin:/bin:/usr/sbin:/usr/bin $dir/$script $*
fi
done
поэтому если запускать сервис вручную через "service mydaemon start", то все переменные среды будут очищены, а если запускать через /usr/local/etc/rc.d/mydaemon start", то все переменные среды рута попадут в окружение mydaemon, т.к. в самих rc-скриптах никакая очистка не предусмотрена.
По-моему это в некотором роде уязвимость (утечка информации). Сейчас активно обсуждается в
https://bugs.freebsd.org/bugzilla/sh....cgi?id=235185 (только не говорите, что я должен был всю переписку вместо этой ссылки вывалить сюда).
Victor Sudakov, VAS4-RIPE, VAS47-RIPN
--- GoldED+/BSD 1.1.5-b20160322-b20160322