81 lines
2 KiB
Bash
81 lines
2 KiB
Bash
#!/bin/sh
|
|
|
|
# directory definitions
|
|
NUT_DIR="@prefix@"
|
|
INSTALLPATH=$NUT_DIR/script
|
|
CONFIGPATH=/etc/rc.config.d
|
|
SCRIPTPATH=/sbin/init.d
|
|
LINKPATH=/sbin/rc3.d
|
|
LINKPREFIX=991
|
|
OWNER=root
|
|
GROUP=root
|
|
SCRIPTS="nut-upsd.sh nut-drvctl.sh nut-upsmon.sh"
|
|
CONFIGS="nut-drvctl nut-upsd nut-upsmon"
|
|
|
|
SCRIPTPERMS=0744
|
|
CONFIGPERMS=0444
|
|
|
|
# make sure the nut user exists and has correct memberships
|
|
res=`grget -n nut`
|
|
if [ -z "$res" ]; then
|
|
groupadd nut
|
|
fi
|
|
res=`pwget -n nut`
|
|
if [ -z "$res" ]; then
|
|
useradd -g nut -G root -d ${NUT_DIR}/bin nut
|
|
fi
|
|
|
|
# make sure that conffiles are secured and have the correct ownerships
|
|
if [ -d @CONFPATH@ ] ; then
|
|
chown root:nut @CONFPATH@
|
|
fi
|
|
for file in nut.conf ups.conf upsd.conf upsmon.conf upsd.users upssched.conf; do
|
|
if [ -f @CONFPATH@/$file ] ; then
|
|
chown root:nut @CONFPATH@/$file
|
|
chmod 640 @CONFPATH@/$file
|
|
fi
|
|
done
|
|
|
|
# make sure that /var/run/nut exists and has the correct ownerships
|
|
if [ ! -d @PIDPATH@/nut ] ; then
|
|
mkdir -p @PIDPATH@/nut
|
|
fi
|
|
if [ -d @PIDPATH@/nut ] ; then
|
|
chown root:nut @PIDPATH@/nut
|
|
chmod 770 @PIDPATH@/nut
|
|
fi
|
|
|
|
# make sure that /var/state/ups exists and has the correct ownerships
|
|
if [ ! -d @STATEPATH@ ] ; then
|
|
mkdir -p @STATEPATH@
|
|
fi
|
|
if [ -d /var/state/ups ] ; then
|
|
chown root:nut @STATEPATH@
|
|
chmod 770 @STATEPATH@
|
|
fi
|
|
|
|
#Set-up automatic start-up
|
|
|
|
if [ ! -d $CONFIGPATH ]; then
|
|
echo "NO $CONFIGPATH"; exit 1;
|
|
fi
|
|
if [ ! -d $SCRIPTPATH ]; then
|
|
echo "NO $SCRIPTPATH"; exit 1;
|
|
fi
|
|
if [ ! -d $LINKPATH ]; then
|
|
echo "NO $LINKPATH"; exit 1;
|
|
fi
|
|
for script in $SCRIPTS; do
|
|
name=`basename ${script} .sh` ;
|
|
cp $INSTALLPATH/$script $SCRIPTPATH/$name
|
|
chown $OWNER:$GROUP $SCRIPTPATH/$name
|
|
chmod $SCRIPTPERMS $SCRIPTPATH/$name
|
|
|
|
ln -f -s $SCRIPTPATH/$name $LINKPATH/K$LINKPREFIX$name
|
|
ln -f -s $SCRIPTPATH/$name $LINKPATH/S$LINKPREFIX$name
|
|
done
|
|
for config in $CONFIGS; do
|
|
cp $INSTALLPATH/$config $CONFIGPATH
|
|
chown $OWNER:$GROUP $CONFIGPATH
|
|
chmod $CONFIGPERMS $CONFIGPATH
|
|
done
|