Ошибка обновления базовой тюрьмы с помощью iocage на FreeBSD/FreeNAS

Традиционная философия Unix всегда заключалась в KISS и запуске/предоставлении минимума сервисов.

Некоторые службы также должны быть установлены явно, и даже некоторые из них привязаны к локальному хосту, и вы должны включить их, чтобы они были видны в вашей локальной сети/в Интернете. (MySQL, MongoDB, snmpd, ntpd, xorg... ). Это более разумный подход, чем включение брандмауэра по умолчанию.

Вам нужна только сложность, которую брандмауэр приносит с определенной точки, и эта потребность может быть уменьшена, если вы находитесь за корпоративным маршрутизатором или домашним устройством nating, поэтому кажется разумным оставить это решение на усмотрение пользователя. Брандмауэр, как и многие другие программы безопасности, также может создать ложное ощущение безопасности, если им не управлять должным образом.

Debian всегда ориентировался на более технически ориентированных людей, которые знают, что такое iptables; есть также несколько хорошо известных оболочек, интерфейсов текстового или графического режима, которые можно легко установить.

Вдобавок ко всему, вопрос о том, поставляется ли он с большим или меньшим количеством установленного программного обеспечения, является предметом обсуждения. Для давнего ветерана по умолчанию установлено слишком много программного обеспечения и служб, особенно в режиме сервера.

0
17.10.2020, 17:02
1 ответ

Оказывается, скрипт /usr/local/sbin/etcupdateне работал из-за того, что он защищал некоторые файлы от удаления, устанавливая системный неизменяемый флаг chflags schg, см. строку 213 этого скрипта:

chflags -R noschg $1 >&3 2>&1 || return 1

К сожалению, дальше снять этот флаг не удалось, и в строках 265 -266 были ошибки сOperation not permitted:

chflags -R noschg $1 >&3 2>&1
rm -rf $1 >&3 2>&1

Это связано с тем, что хотя в тюрьме была включена необходимая настройка allow_chflags, ее securelevelбыло установлено по умолчанию 2, что позволяет установить schg, но не разрешить его не устанавливать.

Чтобы исправить это, мне нужно было временно изменить securelevelна 0в тюрьме, убедившись, что allow_chflagsвключено, после чего iocage upgradeзаработало. После обновления я изменил securelevelна более безопасное значение по умолчанию 2.

Я размещаю это здесь на случай, если это поможет кому-то еще.

2
18.03.2021, 22:56

Теги

Похожие вопросы