Автозагрузка конфигурации PF
Говорят, что лень двигатель прогресса. Истинно так, подтверждаю. Скрипт для редактирования правил pf, последующей их проверки и активации.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | #!/bin/sh # VIPF # Version 1.0 (c) Roman Shramko, Jan, 31 2006 PF_CONF=/etc/pf.conf.local CHECK_PFCONF="/sbin/pfctl -nf " RELOAD_PF="/sbin/pfctl -f " if [ -z $EDITOR ] ; then echo 'You must set $EDITOR variable' exit fi <span class="fullpost"> # Create copy of the config TMP_CONFIG=`/usr/bin/mktemp -q /tmp/pf.conf.XXXXXX` \ && chmod 600 $TMP_CONFIG trap 'rm -f ${TMP_CONFIG}; exit' 0 1 2 3 15 cp $PF_CONF $TMP_CONFIG if [ $? -ne "0" ] ; then echo "Error copying $PF_CONF" exit 1 fi while true ; do # Edit config file # EDITOR is external variable $EDITOR $TMP_CONFIG # Compare files diff $PF_CONF $TMP_CONFIG 2>&1 > /dev/null if [ $? -eq 0 ] ; then echo "Config wasn't changed" exit 0 fi # Config was changed # Check it for error $CHECK_PFCONF $TMP_CONFIG 2>&1 > /dev/null if [ $? -eq 0 ] ; then # config is ok # copy tmp config cp $TMP_CONFIG $PF_CONF # reload pf rules $RELOAD_PF $PF_CONF exit 0 else # Bad config echo "Press \"Enter\" to continue editing or \"Ctrl-C\" to exit" stty -echo read tmp stty echo fi done |
Популярность: 2%
Roman Shramko