diff options
Diffstat (limited to 'debian/vyatta-quagga.preinst')
-rw-r--r-- | debian/vyatta-quagga.preinst | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/debian/vyatta-quagga.preinst b/debian/vyatta-quagga.preinst new file mode 100644 index 00000000..29c18b2b --- /dev/null +++ b/debian/vyatta-quagga.preinst @@ -0,0 +1,89 @@ +#!/bin/bash + +if [ -n "$DEBIAN_SCRIPT_DEBUG" ]; then set -v -x; DEBIAN_SCRIPT_TRACE=1; fi +${DEBIAN_SCRIPT_TRACE:+ echo "#42#DEBUG# RUNNING $0 $*"} +set -e +set -u + +LOG_DIR=/var/log/vyatta/quagga +LOG_PDIR=${LOG_DIR%/*} +RUN_DIR=/var/run/vyatta/quagga +RUN_PDIR=${RUN_DIR%/*} +ETC_DIR=/etc/vyatta/quagga +ETC_PDIR=${ETC_DIR%/*} + +# creating quaggavty group if it isn't already there +if ! getent group quaggavty >/dev/null; then + addgroup --system quaggavty >/dev/null +fi + +# creating quagga group if it isn't already there +if ! getent group quagga >/dev/null; then + addgroup --system quagga >/dev/null +fi + +# creating quagga user if he isn't already there +if ! getent passwd quagga >/dev/null; then + adduser \ + --system \ + --ingroup quagga \ + --home /var/run/vyatta/ \ + --gecos "Vyatta Quagga routing suite" \ + --shell /bin/false \ + quagga >/dev/null +fi + +# Do not change permissions when upgrading as it would violate policy. +if [ "$1" = "install" ]; then + + # Logfiles are group readable in case users were put into the quagga group. + mkdir -p $LOG_PDIR + chmod 0755 $LOG_PDIR + mkdir -p $LOG_DIR + chmod 0775 $LOG_DIR + chown quagga:quagga $LOG_DIR + + # Strict permissions for the sockets. + mkdir -p $RUN_PDIR + chmod 0755 $RUN_PDIR + mkdir -p $RUN_DIR + chmod 0755 $RUN_DIR + chown quagga:quagga $RUN_DIR + + # create empty config files + mkdir -p $ETC_PDIR + chmod 0755 $ETC_PDIR + mkdir -p $ETC_DIR + chmod 0775 $ETC_DIR + chown quagga:quaggavty $ETC_DIR + for daemon in zebra ripd ripngd ospfd ospf6d isisd bgpd ; do + if [ ! -e $ETC_DIR/${daemon}.conf ] ; then + touch $ETC_DIR/${daemon}.conf + chown quagga:quaggavty $ETC_DIR/${daemon}.conf + chmod 0640 $ETC_DIR/${daemon}.conf + cat <<-EOF > $ETC_DIR/${daemon}.conf + log syslog + log facility local7 + EOF + fi + done + + + echo "smux peer .1.3.6.1.4.1.3317.1.2.5" >> $ETC_DIR/ospfd.conf + echo "smux peer .1.3.6.1.4.1.3317.1.2.2" >> $ETC_DIR/bgpd.conf + echo "smux peer .1.3.6.1.4.1.3317.1.2.3" >> $ETC_DIR/ripd.conf + + if [ ! -e $ETC_DIR/vtysh.conf ] ; then + touch $ETC_DIR/vtysh.conf + chown quagga:quaggavty $ETC_DIR/vtysh.conf + chmod 0640 $ETC_DIR/vtysh.conf + cat <<-EOF >> $ETC_DIR/vtysh.conf + username root nopassword + EOF + fi + + # Disable debian/ubuntu package init + update-rc.d -f quagga remove +fi + +#DEBHELPER# |