#1
|
|||
|
|||
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-скриптах никакая очистка не предусмотрена. По-моему это в некотором роде уязвимость (утечка информации). Сейчас активно обсуждается в https://bugs.freebsd.org/bugzilla/sh....cgi?id=235185 (только не говорите, что я должен был всю переписку вместо этой ссылки вывалить сюда). Victor Sudakov, VAS4-RIPE, VAS47-RIPN --- GoldED+/BSD 1.1.5-b20160322-b20160322 |
#2
|
|||
|
|||
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 |
#3
|
|||
|
|||
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) |