#!/bin/sh
# Test id mapping through idmap_rfc2307 module
if [ $# -lt 15 ]; then
- echo Usage: $0 DOMAIN USERNAME UID USERNAME2 UID2 \
- GROUPNAME GID GROUPNAME2 GID2 GID_START NUMGROUPS \
- LDAPPREFIX DC_SERVER DC_USERNAME DC_PASSWORD
+ echo Usage: $0 DOMAIN USERNAME UID USERNAME2 UID2 \
+ GROUPNAME GID GROUPNAME2 GID2 GID_START NUMGROUPS \
+ LDAPPREFIX DC_SERVER DC_USERNAME DC_PASSWORD
exit 1
fi
failed=0
-. `dirname $0`/../../testprogs/blackbox/subunit.sh
+. $(dirname $0)/../../testprogs/blackbox/subunit.sh
# Delete LDAP records
$VALGRIND $ldbdel -H ldap://$DC_SERVER -U$DOMAIN/$DC_USERNAME%$DC_PASSWORD "$LDAPPREFIX" --controls="tree_delete:1"
# Add id mapping information to LDAP
testit "add ldap prefix" $VALGRIND $ldbadd -H ldap://$DC_SERVER \
- -U$DOMAIN/$DC_USERNAME%$DC_PASSWORD <<EOF
+ -U$DOMAIN/$DC_USERNAME%$DC_PASSWORD <<EOF
dn: $LDAPPREFIX
objectclass: organizationalUnit
EOF
testit "add ldap user mapping record" $VALGRIND $ldbadd -H ldap://$DC_SERVER \
- -U$DOMAIN/$DC_USERNAME%$DC_PASSWORD <<EOF
+ -U$DOMAIN/$DC_USERNAME%$DC_PASSWORD <<EOF
dn: cn=$USERNAME,$LDAPPREFIX
objectClass: organizationalPerson
objectClass: posixAccount
EOF
testit "add second ldap user mapping record" $VALGRIND $ldbadd \
- -H ldap://$DC_SERVER -U$DOMAIN/$DC_USERNAME%$DC_PASSWORD <<EOF
+ -H ldap://$DC_SERVER -U$DOMAIN/$DC_USERNAME%$DC_PASSWORD <<EOF
dn: cn=$USERNAME2,$LDAPPREFIX
objectClass: organizationalPerson
objectClass: posixAccount
EOF
testit "add ldap group mapping record" $VALGRIND $ldbadd \
- -H ldap://$DC_SERVER -U$DOMAIN/$DC_USERNAME%$DC_PASSWORD <<EOF
+ -H ldap://$DC_SERVER -U$DOMAIN/$DC_USERNAME%$DC_PASSWORD <<EOF
dn: cn=$GROUPNAME,$LDAPPREFIX
objectClass: posixGroup
objectClass: groupOfNames
EOF
testit "add second ldap group mapping record" $VALGRIND $ldbadd \
- -H ldap://$DC_SERVER -U$DOMAIN/$DC_USERNAME%$DC_PASSWORD <<EOF
+ -H ldap://$DC_SERVER -U$DOMAIN/$DC_USERNAME%$DC_PASSWORD <<EOF
dn: cn=$GROUPNAME2,$LDAPPREFIX
objectClass: posixGroup
objectClass: groupOfNames
testit "test $group_name2 = $DOMAIN/$GROUPNAME2" test "$(echo $group_name2 | tr A-Z a-z)" = "$(echo $DOMAIN/$GROUPNAME2 | tr A-Z a-z)" || failed=$(expr $failed + 1)
i=0
-while [ ${i} -lt ${NUMGROUPS} ] ; do
- GRP=$(printf "test_rfc2307_group_%3.3d" "$i")
- GRP_GID=$(expr "$GID_START" + "$i")
- testit "Add group $GRP" $net rpc group add "$GRP" -S "$DC_SERVER" \
- -U"${DOMAIN}\\${DC_USERNAME}"%"${DC_PASSWORD}" ||
- failed=$(expr $failed + 1)
- testit "Add groupmem $GRP $USERNAME" \
- $net rpc group addmem "$GRP" "$USERNAME" \
- -S "$DC_SERVER" \
- -U"${DOMAIN}\\${DC_USERNAME}"%"${DC_PASSWORD}" ||
- failed=$(expr $failed + 1)
- testit "Add group object for $GRP $GRP_GID" \
- $VALGRIND $ldbadd \
- -H ldap://$DC_SERVER -U$DOMAIN/$DC_USERNAME%$DC_PASSWORD <<EOF
+while [ ${i} -lt ${NUMGROUPS} ]; do
+ GRP=$(printf "test_rfc2307_group_%3.3d" "$i")
+ GRP_GID=$(expr "$GID_START" + "$i")
+ testit "Add group $GRP" $net rpc group add "$GRP" -S "$DC_SERVER" \
+ -U"${DOMAIN}\\${DC_USERNAME}"%"${DC_PASSWORD}" ||
+ failed=$(expr $failed + 1)
+ testit "Add groupmem $GRP $USERNAME" \
+ $net rpc group addmem "$GRP" "$USERNAME" \
+ -S "$DC_SERVER" \
+ -U"${DOMAIN}\\${DC_USERNAME}"%"${DC_PASSWORD}" ||
+ failed=$(expr $failed + 1)
+ testit "Add group object for $GRP $GRP_GID" \
+ $VALGRIND $ldbadd \
+ -H ldap://$DC_SERVER -U$DOMAIN/$DC_USERNAME%$DC_PASSWORD <<EOF
dn: cn=$GRP,$LDAPPREFIX
objectClass: posixGroup
objectClass: groupOfNames
gidNumber: $GRP_GID
member: cn=$USERNAME,$LDAPPREFIX
EOF
- i=$(expr "$i" + 1)
+ i=$(expr "$i" + 1)
done
# Test whether wbinfo --xids-to-sids finds everything
GIDS=""
i=0
-while [ ${i} -lt ${NUMGROUPS} ] ; do
- GIDS="$GIDS g$(expr ${i} + ${GID_START})"
- i=$(expr "$i" + 1)
+while [ ${i} -lt ${NUMGROUPS} ]; do
+ GIDS="$GIDS g$(expr ${i} + ${GID_START})"
+ i=$(expr "$i" + 1)
done
NUM_VALID_SIDS=$($wbinfo --unix-ids-to-sids="$GIDS" | grep -v ^"NOT MAPPED" | wc -l)
testit "Count number of valid sids found" \
- test ${NUM_VALID_SIDS} = ${NUMGROUPS} ||
- failed=$(expr $failed + 1)
+ test ${NUM_VALID_SIDS} = ${NUMGROUPS} ||
+ failed=$(expr $failed + 1)
# Prime the cache so we test idmap, not the harder problem of
# consistent group memberships for users without a login.
testit "Authenticate the user to prime the netlogon cache" \
- $wbinfo -a $DOMAIN/$DC_USERNAME%$DC_PASSWORD || failed=$(expr $failed + 1)
+ $wbinfo -a $DOMAIN/$DC_USERNAME%$DC_PASSWORD || failed=$(expr $failed + 1)
# Test whether wbinfo -r shows all groups
EXPECTED_USERGROUPS="1000000/1000001/2000002/"
i=0
-while [ ${i} -lt ${NUMGROUPS} ] ; do
- EXPECTED_USERGROUPS="$EXPECTED_USERGROUPS$(expr ${i} + ${GID_START})/"
- i=$(expr "$i" + 1)
+while [ ${i} -lt ${NUMGROUPS} ]; do
+ EXPECTED_USERGROUPS="$EXPECTED_USERGROUPS$(expr ${i} + ${GID_START})/"
+ i=$(expr "$i" + 1)
done
USERGROUPS=$($wbinfo -r $DOMAIN/$USERNAME | sort -n | tr '\n' '/')
testit "Testing for expected group memberships" \
- test "$USERGROUPS" = "$EXPECTED_USERGROUPS" ||
- failed=$(expr $failed + 1)
+ test "$USERGROUPS" = "$EXPECTED_USERGROUPS" ||
+ failed=$(expr $failed + 1)
i=0
-while [ ${i} -lt ${NUMGROUPS} ] ; do
- GRP=$(printf "test_rfc2307_group_%3.3d" ${i})
- testit "Del group $GRP" $net rpc group delete "$GRP" -S "$DC_SERVER" \
- -U"${DOMAIN}\\${DC_USERNAME}"%"${DC_PASSWORD}" ||
- failed=$(expr $failed + 1)
- i=$(expr "$i" + 1)
+while [ ${i} -lt ${NUMGROUPS} ]; do
+ GRP=$(printf "test_rfc2307_group_%3.3d" ${i})
+ testit "Del group $GRP" $net rpc group delete "$GRP" -S "$DC_SERVER" \
+ -U"${DOMAIN}\\${DC_USERNAME}"%"${DC_PASSWORD}" ||
+ failed=$(expr $failed + 1)
+ i=$(expr "$i" + 1)
done
# Delete LDAP records