В конечном итоге это вопрос безопасности, а не вопрос unix / linux.
Технически ответ отрицательный, нет необходимости запускать его, чтобы все работало правильно (в зависимости от того, что еще вы используете).
Я не использую брандмауэры хоста в своей сети дома, потому что мой модем / маршрутизатор / точка доступа настроены так, что входящие соединения запрещены, и, как и вы, я «доверяю» своей домашней сети.
Однако это мой домашний LAN. У меня очень мало интересных данных и ничего, что могло бы привлечь хакеров, и в основном такого рода средства защиты, которые не допускают проездных.
Следующая угроза - это вредоносный код, доставляемый через ваш веб-браузер. Это действительно означает, что вы не можете доверять своей домашней сети. В этом сценарии кто-то захватывает веб-сервер (перекрестный скриптинг, что угодно), и вы получаете на своей машине какой-то бот, который затем сканирует вашу сеть и выполняет репликацию.Было правительственное учреждение с засекреченной "Секретной" сетью (то есть данные о нем были засекречены, а не сама сеть), на котором было заражение, от которого у них были серьезные проблемы с избавлением, потому что все, что было на их машинах, распространялось так быстро. поскольку они могли переосмыслить машины. Это, однако, было почти все машины Windows с Active Directory с монокультурой и проблемами безопасности, что подразумевает [1].
Может быть, это проблема для вас, а может, и нет. Это ваша оценка.
В конечном итоге в домашней сети с очень небольшим количеством открытых входящих портов или их отсутствием, минимальным количеством запущенных сетевых сервисов и другими хорошими практиками безопасности, основанные на брандмауэрах на основе хоста, не обеспечат значительного повышения безопасности.
Однако в бизнесе с любым видом PII вы делаете лишнюю милю.
ТАКОЕ СКАЗАНО . Нам всем, вероятно, следует использовать брандмауэры на основе хоста. Мы должны знать, какую сетевую активность компьютер инициирует от нашего имени, и заботиться о ней.
Но занят и отвлекает ...
Расширение идеи BASH _SOURCE: проверьте, содержит ли он абсолютный путь; если это так, используйте его напрямую, в противном случае добавьте PWD. После этого удалите завершающую косую черту и все, что следует за ней, оставив только содержащую ее директорию:
case ${BASH_SOURCE[0]} in
( /* )
p=${BASH_SOURCE[0]}
;;
( * )
p=${PWD}/${BASH_SOURCE[0]}
;;
esac
p=${p%/*}
printf "%s\n" "$p"
Чтобы получить каталог, в котором находится скрипт, используйте:
readlink -f $(dirname $0)
Как сказано на справочной странице bash, $0
устанавливается на имя файла.
readlink -f
получает абсолютный путь к этому каталогу.