forum.wfido.ru

forum.wfido.ru (http://forum.wfido.ru/index.php)
-   RU.UNIX.BSD (http://forum.wfido.ru/forumdisplay.php?f=36)
-   -   rc.d and environment (http://forum.wfido.ru/showthread.php?t=78326)

Victor Sudakov 26.01.2019 13:12

rc.d and environment
 
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-скриптах никакая очистка не предусмотрена.

По-моему это в некотором роде уязвимость (утечка информации). Сейчас активно обсуждается в [url]https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=235185[/url] (только не говорите, что я должен был всю переписку вместо этой ссылки вывалить сюда).

Victor Sudakov, VAS4-RIPE, VAS47-RIPN
--- GoldED+/BSD 1.1.5-b20160322-b20160322

Alex Korchmar 26.01.2019 14:23

Re: rc.d and environment
 
Alex Korchmar написал(а) к Victor Sudakov в Jan 19 13:08:09 по местному времени:

From: Alex Korchmar <noreply@linux.e-moe.ru>

Victor Sudakov <Victor.Sudakov@f49.n5005.z2.fidonet.org> wrote:

VS> /usr/local/etc/rc.d/mydaemon start", то все переменные среды рута попадут в
VS> окружение mydaemon, т.к. в самих rc-скриптах никакая очистка не предусмотрена.
поэтому service - ненужное говно, принесенное мудаками из линукса чтобы
не учиться ничему.

и должен побыстрому сдохнуть, как и весь прочий мусор принесенный оттуда же
такими же мудаками - вклюая zol, kms и гомоподдержку во все места.

Но, на практике, полагаю, лет через десять сдохнет freebsd.


> Alex

--- ifmail v.2.15dev5.4

Eugene Grosbein 28.01.2019 06:46

Re: rc.d and environment
 
Eugene Grosbein написал(а) к Alex Korchmar в Jan 19 08:25:21 по местному времени:

26 янв. 2019, суббота, в 13:08 NOVT, Alex Korchmar написал(а):

VS>> /usr/local/etc/rc.d/mydaemon start", то все переменные среды рута попадут в
VS>> окружение mydaemon, т.к. в самих rc-скриптах никакая очистка не
AK> предусмотрена.
AK> поэтому service - ненужное говно, принесенное мудаками из линукса чтобы
AK> не учиться ничему.

На самом деле нет - service чистит environment. Именно поэтому некоторые
мои скрипты, передающие контекстно-зависимую информацию в firewall_coscripts,
вынуждены делать env VAR=value /etc/rc.d/ipfw start вместо service ipfw start
при запуске из ip-up.

Eugene
--- slrn/1.0.3 (FreeBSD)


Текущее время: 09:27. Часовой пояс GMT +4.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot