Files
ldap2dns/ldap2tinydns-conf

47 lines
1.3 KiB
Plaintext
Raw Normal View History

#!/bin/sh
# $Id$
LDAP2DNSUSER=$1
LDAP2DNSLOGUSER=$2
LDAP2DNSDIR=$3
TINYDNSDIR=$4
if [ -z "$LDAP2DNSUSER" -o -z "$LDAP2DNSLOGUSER" -o -z "$LDAP2DNSDIR" -o \
-z "$TINYDNSDIR" ]; then
echo "usage: $0 acct logacct /path/to/ldap2dns/dir /path/to/tinydns/root" >&2
exit 1
fi
set -e # Err out immediately if any of the following fails
mkdir $LDAP2DNSDIR
mkdir $LDAP2DNSDIR/env
mkdir $LDAP2DNSDIR/log
mkdir $LDAP2DNSDIR/log/main
touch $LDAP2DNSDIR/log/status
cat << EOF_run > $LDAP2DNSDIR/run
#!/bin/sh
exec 2>&1
exec setuidgid $LDAP2DNSUSER envdir ./env softlimit -d250000 /usr/bin/ldap2dns -e "cd \$TINYDNSDIR && tinydns-data"
EOF_run
chmod +t $LDAP2DNSDIR
chmod 755 $LDAP2DNSDIR/run
echo "$TINYDNSDIR" > $LDAP2DNSDIR/env/TINYDNSDIR
echo "60" > $LDAP2DNSDIR/env/LDAP2DNS_UPDATE
echo "data" > $LDAP2DNSDIR/env/LDAP2DNS_OUTPUT
cat << EOF_logrun > $LDAP2DNSDIR/log/run
#!/bin/sh
exec setuidgid $LDAP2DNSLOGUSER multilog t ./main
EOF_logrun
chown $LDAP2DNSLOGUSER:$LDAP2DNSLOGUSER $LDAP2DNSDIR/log/main
chmod g+s $LDAP2DNSDIR/log/main
chmod 755 $LDAP2DNSDIR/log/run
chown $LDAP2DNSLOGUSER:$LDAP2DNSLOGUSER $LDAP2DNSDIR/log/status
echo "To supervise ldap2dns do a symbolic link from /service onto ldap2dns"
echo "For proper operation, ensure $LDAP2DNSUSER has write access to $TINYDNSDIR"