Jan. 26th, 2019

victor_sudakov: (Default)
В /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 HOME=/ PATH=/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/show_bug.cgi?id=235185
victor_sudakov: (Default)
Иногда достаточно просто написать совершенно правильную формально инструкцию, но непросто соблюсти.

"Есть такая притча, которую написал Герой Советского Союза Александр Александрович Щербаков. Во время разбора авиационного происшествия один член аварийной комиссии говорит другому: "Вот вы напишите правила канатоходца. Hужно все время удерживать свой личный центр тяжести так, чтобы вектор земного притяжения проходил через центр каната, и вам гарантирована безопасность. Каждый человек может элементарно быть канатоходцем под куполом цирка, ему достаточно лишь обеспечивать прохождение вектора земного притяжения через канат, это так просто. Такие простые правила, но почему-то канатоходцы регулярно срываются, а летчики регулярно падают."

Profile

victor_sudakov: (Default)
Виктор Судаков

December 2024

S M T W T F S
1234567
891011121314
15161718192021
22232425262728
293031    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 7th, 2025 09:25 am
Powered by Dreamwidth Studios