mirror of
https://github.com/samba-team/samba.git
synced 2025-01-07 17:18:11 +03:00
db88210639
shfmt -f source3/script/| xargs shfmt -w -p -i 0 -fn Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Anoop C S <anoopcs@samba.org> Reviewed-by: Alexander Bokovoy <ab@samba.org>
218 lines
4.4 KiB
Bash
Executable File
218 lines
4.4 KiB
Bash
Executable File
#!/bin/sh
|
|
# test groupmap code tridge@samba.org September 2006
|
|
# note that this needs root access to add unix groups,
|
|
# so this cannot be run on the build farm
|
|
|
|
testone()
|
|
{
|
|
echo $*
|
|
$VALGRIND bin/net groupmap $*
|
|
}
|
|
|
|
tstart()
|
|
{
|
|
TBASE=$(date '+%s')
|
|
}
|
|
|
|
treport()
|
|
{
|
|
TNOW=$(date '+%s')
|
|
echo "Took $(expr $TNOW - $TBASE) seconds"
|
|
TBASE=$TNOW
|
|
}
|
|
|
|
rm -f $PREFIX_ABS/var/locks/group_mapping.?db
|
|
|
|
NLOCAL=12
|
|
NGROUP=11
|
|
NBUILTIN=10
|
|
DOMSID=$(bin/net getlocalsid | awk '{print $6}')
|
|
FORSID="S-1-2-3-4-5"
|
|
|
|
echo "DOMSID $DOMSID"
|
|
echo "FORSID $FORSID"
|
|
|
|
tstart
|
|
echo "Creating unix groups"
|
|
for i in $(seq 1 1 $NLOCAL); do
|
|
unixgroup=testlocal$i
|
|
gid=$(expr 30000 + $i)
|
|
groupdel $unixgroup 2>/dev/null
|
|
groupadd -g $gid $unixgroup || exit 1
|
|
done
|
|
for i in $(seq 1 1 $NGROUP); do
|
|
unixgroup=testgrp$i
|
|
gid=$(expr 40000 + $i)
|
|
groupdel $unixgroup 2>/dev/null
|
|
groupadd -g $gid $unixgroup || exit 1
|
|
done
|
|
for i in $(seq 1 1 $NBUILTIN); do
|
|
unixgroup=testb$i
|
|
gid=$(expr 50000 + $i)
|
|
groupdel $unixgroup 2>/dev/null
|
|
groupadd -g $gid $unixgroup || exit 1
|
|
done
|
|
date
|
|
|
|
treport
|
|
|
|
echo "Creating local groups"
|
|
for i in $(seq 1 1 $NLOCAL); do
|
|
unixgroup=testlocal$i
|
|
ntgroup=ntlgrp$i
|
|
rid=$(expr 10000 + $i)
|
|
testone add rid=$rid unixgroup=$unixgroup ntgroup=$ntgroup type=local || exit 1
|
|
done
|
|
|
|
echo "trying a duplicate add"
|
|
testone add rid=10001 unixgroup=testlocal1 ntgroup=foo type=local && exit 1
|
|
|
|
treport
|
|
|
|
echo "Creating domain groups"
|
|
for i in $(seq 1 1 $NGROUP); do
|
|
unixgroup=testgrp$i
|
|
ntgroup=ntgrp$i
|
|
rid=$(expr 20000 + $i)
|
|
testone add rid=$rid unixgroup=$unixgroup ntgroup=$ntgroup type=domain || exit 1
|
|
done
|
|
|
|
treport
|
|
|
|
echo "Creating builtin groups"
|
|
for i in $(seq 1 1 $NBUILTIN); do
|
|
unixgroup=testb$i
|
|
ntgroup=ntbgrp$i
|
|
rid=$(expr 30000 + $i)
|
|
testone add rid=$rid unixgroup=$unixgroup ntgroup=$ntgroup type=builtin || exit 1
|
|
done
|
|
|
|
treport
|
|
|
|
echo "Adding domain groups to local groups"
|
|
for i in $(seq 1 1 $NLOCAL); do
|
|
for j in $(seq 1 1 $i); do
|
|
|
|
lrid=$(expr 10000 + $i)
|
|
drid=$(expr 20000 + $j)
|
|
|
|
testone addmem $DOMSID-$lrid $DOMSID-$drid || exit 1
|
|
(testone listmem $DOMSID-$lrid | sort -r) || exit 1
|
|
done
|
|
done
|
|
|
|
echo "trying a duplicate addmem"
|
|
testone addmem $DOMSID-10001 $DOMSID-20001 && exit 1
|
|
|
|
echo "Adding foreign SIDs to local groups"
|
|
for i in $(seq 1 1 $NLOCAL); do
|
|
for j in $(seq 1 1 $i); do
|
|
|
|
lrid=$(expr 10000 + $i)
|
|
frid=$(expr 70000 + $j)
|
|
|
|
testone addmem $DOMSID-$lrid $FORSID-$frid || exit 1
|
|
(testone listmem $DOMSID-$lrid | sort -r) || exit 1
|
|
done
|
|
done
|
|
|
|
echo "trying a duplicate foreign addmem"
|
|
testone addmem $DOMSID-10001 $FORSID-70001 && exit 1
|
|
|
|
treport
|
|
|
|
echo "Listing local group memberships of domain groups"
|
|
for i in $(seq 1 1 $NGROUP); do
|
|
rid=$(expr 20000 + $i)
|
|
(testone memberships $DOMSID-$rid | sort -r) || exit 1
|
|
done
|
|
|
|
echo "Trying memberships on bogus sid"
|
|
testone memberships $DOMSID-999999 || exit 1
|
|
|
|
treport
|
|
|
|
testone list | sort
|
|
|
|
echo "Deleting some domain groups"
|
|
for i in $(seq 2 2 $NGROUP); do
|
|
drid=$(expr 20000 + $i)
|
|
testone delete sid=$DOMSID-$drid || exit 1
|
|
done
|
|
|
|
echo "Trying duplicate domain group delete"
|
|
testone delete sid=$DOMSID-20002 && exit 1
|
|
|
|
treport
|
|
|
|
echo "Deleting some local groups"
|
|
for i in $(seq 2 4 $NLOCAL); do
|
|
lrid=$(expr 10000 + $i)
|
|
testone delete sid=$DOMSID-$lrid || exit 1
|
|
done
|
|
|
|
echo "Trying duplicate local group delete"
|
|
testone delete sid=$DOMSID-10002 && exit 1
|
|
|
|
treport
|
|
|
|
echo "Modifying some domain groups"
|
|
for i in $(seq 3 2 $NGROUP); do
|
|
drid=$(expr 20000 + $i)
|
|
testone modify sid=$DOMSID-$drid comment="newcomment-$i" type=domain || exit 1
|
|
done
|
|
|
|
treport
|
|
|
|
testone list | sort
|
|
|
|
echo "Listing local group memberships"
|
|
for i in $(seq 1 1 $NLOCAL); do
|
|
rid=$(expr 20000 + $i)
|
|
(testone memberships $DOMSID-$rid | sort -r) || exit 1
|
|
done
|
|
|
|
treport
|
|
|
|
echo "Removing some domain groups from local groups"
|
|
for i in $(seq 1 2 $NLOCAL); do
|
|
for j in $(seq 1 3 $i); do
|
|
|
|
lrid=$(expr 10000 + $i)
|
|
drid=$(expr 20000 + $j)
|
|
|
|
testone delmem $DOMSID-$lrid $DOMSID-$drid || exit 1
|
|
done
|
|
done
|
|
|
|
echo "Trying duplicate delmem"
|
|
testone delmem $DOMSID-10001 $DOMSID-20001 && exit 1
|
|
|
|
treport
|
|
|
|
echo "Listing local group memberships"
|
|
for i in $(seq 1 1 $NLOCAL); do
|
|
rid=$(expr 20000 + $i)
|
|
(testone memberships $DOMSID-$rid | sort -r) || exit 1
|
|
done
|
|
|
|
treport
|
|
|
|
echo "Deleting unix groups"
|
|
for i in $(seq 1 1 $NLOCAL); do
|
|
unixgroup=testlocal$i
|
|
groupdel $unixgroup 2>/dev/null
|
|
done
|
|
for i in $(seq 1 1 $NGROUP); do
|
|
unixgroup=testgrp$i
|
|
groupdel $unixgroup 2>/dev/null
|
|
done
|
|
for i in $(seq 1 1 $NBUILTIN); do
|
|
unixgroup=testb$i
|
|
groupdel $unixgroup 2>/dev/null
|
|
done
|
|
|
|
treport
|
|
|
|
echo "ALL DONE"
|