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