Dormestmass: Админ — это состояние души

Автозагрузка конфигурации 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%

P.S.

В магазине строительной техники stroymaster.co.ua ванны покупка, огромный выбор ванн.

Вы можете следить за обсуждением с помощью RSS 2.0 ленты.