diff options
Diffstat (limited to 'source4/script')
-rw-r--r-- | source4/script/tests/mktestsetup.sh.share_ldb | 211 |
1 files changed, 211 insertions, 0 deletions
diff --git a/source4/script/tests/mktestsetup.sh.share_ldb b/source4/script/tests/mktestsetup.sh.share_ldb new file mode 100644 index 0000000000..78360d8c35 --- /dev/null +++ b/source4/script/tests/mktestsetup.sh.share_ldb @@ -0,0 +1,211 @@ +#!/bin/sh + +if [ $# -lt 1 ] +then + echo "$0 PREFIX" + exit 1 +fi + +PREFIX=$1 + +if test -z "$TLS_ENABLED"; then + TLS_ENABLED=false +fi + +DOMAIN=SAMBADOMAIN +USERNAME=administrator +REALM=SAMBA.EXAMPLE.COM +PASSWORD=penguin +SRCDIR=`pwd` +ROOT=$USER +SERVER=localhost +NETBIOSNAME=localtest +if test -z "$ROOT"; then + ROOT=$LOGNAME +fi +if test -z "$ROOT"; then + ROOT=`whoami` +fi + +oldpwd=`pwd` +srcdir=`dirname $0`/../.. +mkdir -p $PREFIX || exit $? +cd $PREFIX +PREFIX_ABS=`pwd` +export PREFIX_ABS +cd $oldpwd + +TEST_DATA_PREFIX=$PREFIX_ABS +export TEST_DATA_PREFIX + +TMPDIR=$PREFIX_ABS/tmp +ETCDIR=$PREFIX_ABS/etc +PIDDIR=$PREFIX_ABS/pid +CONFFILE=$ETCDIR/smb.conf +KRB5_CONFIG=$ETCDIR/krb5.conf +PRIVATEDIR=$PREFIX_ABS/private +NCALRPCDIR=$PREFIX_ABS/ncalrpc +LOCKDIR=$PREFIX_ABS/lockdir +TLSDIR=$PRIVATEDIR/tls +WINBINDD_SOCKET_DIR=$PREFIX_ABS/winbind_socket +CONFIGURATION="--configfile=$CONFFILE" +export CONFIGURATION +export CONFFILE + +rm -rf $PREFIX/* +mkdir -p $PRIVATEDIR $ETCDIR $PIDDIR $NCALRPCDIR $LOCKDIR $TMPDIR $TLSDIR + +cat >$CONFFILE<<EOF +[global] + netbios name = $NETBIOSNAME + netbios aliases = $SERVER + workgroup = $DOMAIN + realm = $REALM + private dir = $PRIVATEDIR + pid directory = $PIDDIR + ncalrpc dir = $NCALRPCDIR + lock dir = $LOCKDIR + setup directory = $SRCDIR/setup + js include = $SRCDIR/scripting/libjs + share backend = ldb + winbindd socket directory = $WINBINDD_SOCKET_DIR + name resolve order = bcast + interfaces = 127.0.0.1/8 + tls enabled = $TLS_ENABLED + panic action = $SRCDIR/script/gdb_backtrace %PID% %PROG% + wins support = yes + server role = pdc + max xmit = 32K + server max protocol = SMB2 + +[tmp] + path = $TMPDIR + read only = no + ntvfs handler = posix + posix:sharedelay = 100000 + posix:eadb = $LOCKDIR/eadb.tdb + +[cifs] + read only = no + ntvfs handler = cifs + cifs:server = $SERVER + cifs:user = $USERNAME + cifs:password = $PASSWORD + cifs:domain = $DOMAIN + cifs:share = tmp +EOF + +## Override default srahes_config.ldb file +rm -f $PRIVATEDIR/share.ldb +cat >$PRIVATEDIR/share.ldif<<EOF +### Shares basedn +dn: @INDEXLIST +@IDXATTR: name + +dn: @ATTRIBUTES +cn: CASE_INSENSITIVE +dc: CASE_INSENSITIVE +name: CASE_INSENSITIVE +dn: CASE_INSENSITIVE +objectClass: CASE_INSENSITIVE + +dn: CN=Shares +objectClass: top +objectClass: organizationalUnit +cn: Shares + +### Default IPC$ Share +dn: CN=IPC$,CN=Shares +objectClass: top +objectClass: share +cn: IPC$ +name: IPC$ +type: IPC +path: /tmp +comment: Remote IPC +max-connections: -1 +available: True +readonly: True +browseable: False +ntvfs-handler: default + +### Default ADMIN$ Share +dn: CN=ADMIN$,CN=Shares +objectClass: top +objectClass: share +cn: ADMIN$ +name: ADMIN$ +type: DISK +path: /tmp +comment: Remote Admin +max-connections: -1 +available: True +readonly: True +browseable: False +ntvfs-handler: default + +dn: CN=tmp,CN=Shares +objectClass: top +objectClass: share +cn: tmp +name: tmp +type: DISK +path: $TMPDIR +comment: Temp Dir for Tests +readonly: False +ntvfs-handler: posix +posix-sharedelay: 100000 +posix-eadb: $LOCKDIR/eadb.tdb + +dn: CN=cifs,CN=Shares +objectClass: top +objectClass: share +cn: cifs +name: cifs +type: DISK +readonly: False +ntvfs-handler: cifs +cifs-server: $SERVER +cifs-user: $USERNAME +cifs-password: $PASSWORD +cifs-domain: $DOMAIN +cifs-share: tmp +EOF + +$srcdir/bin/ldbadd -H $PRIVATEDIR/share.ldb < $PRIVATEDIR/share.ldif >/dev/null || exit 1 + +cat >$KRB5_CONFIG<<EOF +[libdefaults] + default_realm = SAMBA.EXAMPLE.COM + dns_lookup_realm = false + dns_lookup_kdc = false + ticket_lifetime = 24h + forwardable = yes + +[realms] + SAMBA.EXAMPLE.COM = { + kdc = 127.0.0.1 + admin_server = 127.0.0.1 + default_domain = samba.example.com + } +[domain_realm] + .samba.example.com = SAMBA.EXAMPLE.COM +EOF + +export KRB5_CONFIG + +$srcdir/bin/smbscript $srcdir/setup/provision $CONFIGURATION --host-name=$NETBIOSNAME --host-ip=127.0.0.1 \ + --quiet --domain $DOMAIN --realm $REALM \ + --adminpass $PASSWORD --root=$ROOT || exit 1 + +cat >$PRIVATEDIR/wins_config.ldif<<EOF +dn: name=TORTURE_26,CN=PARTNERS +objectClass: wreplPartner +name: TORTURE_26 +address: 127.0.0.26 +pullInterval: 0 +pushChangeCount: 0 +type: 0x3 +EOF + +$srcdir/bin/ldbadd -H $PRIVATEDIR/wins_config.ldb < $PRIVATEDIR/wins_config.ldif >/dev/null || exit 1 |