#!/bin/sh
# usage: ldapaxfr-conf acct logacct /ldapaxfr /ldapdns [myip]
# args
auser=$1
auid=`id -u $1`
agid=`id -g $1`
luser=$2
luid=`id -u $2`
lgid=`id -g $2`
dir=$3
dnsdir=$4
myip=$5
ldapaxfr=`which ldapaxfr`
if [ "X$myip" = "X" ]; then
echo "Usage: ldapaxfr-conf acct logacct /dir /ldapdns [myip]" >&2
exit 0
fi
if [ "X$ldapaxfr" = "X" ]; then exit 1; fi
if [ "X$auid" = "X" ]; then exit 1; fi
if [ "X$agid" = "X" ]; then exit 1; fi
if [ "X$luid" = "X" ]; then exit 1; fi
if [ "X$lgid" = "X" ]; then exit 1; fi
# make initial dir
mkdir $dir
chmod 03755 $dir
# make log
mkdir $dir/log $dir/log/main
touch $dir/log/status
chmod 02755 $dir/log $dir/log/main
chmod 0644 $dir/log/status
chown $luid:$lgid $dir/log/main $dir/log/status
echo '#!/bin/sh' > $dir/log/run
echo 'exec setuidgid '"$luser"' multilog t ./main' >> $dir/log/run
chmod 0755 $dir/log/run
echo '#!/bin/sh' > $dir/run
echo 'exec 2>&1' >>$dir/run
echo 'exec envdir '"$dnsdir"'/env envuidgid '"$auser"' envdir ./env softlimit -d2000000 '$ldapaxfr >>$dir/run
chmod 0755 $dir/run
mkdir $dir/env
chmod 02755 $dir/env
if [ "X$myip" != "X" ]; then
echo $myip > $dir/env/IP
chmod 0644 $dir/env/IP
else
cat $dnsdir/env/IP > $dir/env/IP
chmod 0644 $dir/env/IP
fi
exit 0
syntax highlighted by Code2HTML, v. 0.9.1