1#!/bin/sh 2# usage: ldapaxfr-conf acct logacct /ldapaxfr /ldapdns [myip] 3 4# args 5auser=$1 6auid=`id -u $1` 7agid=`id -g $1` 8luser=$2 9luid=`id -u $2` 10lgid=`id -g $2` 11dir=$3 12dnsdir=$4 13myip=$5 14ldapaxfr=`which ldapaxfr` 15 16if [ "X$myip" = "X" ]; then 17 echo "Usage: ldapaxfr-conf acct logacct /dir /ldapdns [myip]" >&2 18 exit 0 19fi 20 21if [ "X$ldapaxfr" = "X" ]; then exit 1; fi 22if [ "X$auid" = "X" ]; then exit 1; fi 23if [ "X$agid" = "X" ]; then exit 1; fi 24if [ "X$luid" = "X" ]; then exit 1; fi 25if [ "X$lgid" = "X" ]; then exit 1; fi 26 27# make initial dir 28mkdir $dir 29chmod 03755 $dir 30 31# make log 32mkdir $dir/log $dir/log/main 33touch $dir/log/status 34chmod 02755 $dir/log $dir/log/main 35chmod 0644 $dir/log/status 36chown $luid:$lgid $dir/log/main $dir/log/status 37 38echo '#!/bin/sh' > $dir/log/run 39echo 'exec setuidgid '"$luser"' multilog t ./main' >> $dir/log/run 40chmod 0755 $dir/log/run 41 42echo '#!/bin/sh' > $dir/run 43echo 'exec 2>&1' >>$dir/run 44echo 'exec envdir '"$dnsdir"'/env envuidgid '"$auser"' envdir ./env softlimit -d2000000 '$ldapaxfr >>$dir/run 45chmod 0755 $dir/run 46 47mkdir $dir/env 48chmod 02755 $dir/env 49 50if [ "X$myip" != "X" ]; then 51 echo $myip > $dir/env/IP 52 chmod 0644 $dir/env/IP 53else 54 cat $dnsdir/env/IP > $dir/env/IP 55 chmod 0644 $dir/env/IP 56fi 57 58exit 0 59