#!/bin/sh # usage: ldapdns-conf acct logacct /ldapdns myip ldapip dn [suffix] # args auser=$1 auid=`id -u $1` agid=`id -g $1` luser=$2 luid=`id -u $2` lgid=`id -g $2` dir=$3 myip=$4 ldapip=$5 binddn=$6 suffix=$7 ldapdns=`which ldapdns` if [ "X$binddn" = "X" ]; then echo "Usage: ldapdns-conf acct logacct /dir myip ldaphost dn [suffix]" >&2 exit 0 fi if [ "X$ldapdns" = "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 envuidgid '"$auser"' envdir ./env softlimit -d2000000 '$ldapdns >>$dir/run chmod 0755 $dir/run mkdir $dir/root chmod 02755 $dir/root mkdir $dir/env chmod 02755 $dir/env echo $dir/root > $dir/env/ROOT chmod 0600 $dir/env/ROOT echo $myip > $dir/env/IP chmod 0644 $dir/env/IP echo 'hostmaster@'`(domainname.sh || domainname) 2>/dev/null` > $dir/env/HOSTMASTER chmod 0644 $dir/env/HOSTMASTER echo $binddn > $dir/env/LDAP_AUTH_NAME chmod 0644 $dir/env/LDAP_AUTH_NAME echo $ldapip > $dir/env/LDAP_HOSTS chmod 0644 $dir/env/LDAP_HOSTS if [ "X$suffix" != "X" ]; then echo $suffix > $dir/env/LDAP_SUFFIX chmod 0644 $dir/env/LDAP_SUFFIX fi echo "Don't forget to set \$ROOT/root/password" >&2 exit 0