check-server-hodadmin.in [plain text]
#!/bin/sh
env_setup="@env_setup@"
confdir="@confdir@"
testdir="@testdir@"
if [ "$UID" != 0 ] ; then
echo "must run script as root since it create users"
exit 1
fi
uid=82367356
u=heimdaltestuser
s=heimdalserveruser
r=FOO.H5L.SE
d=foo.h5l.se
. ${env_setup}
KRB5_CONFIG="${1-${confdir}/krb5.conf}"
export KRB5_CONFIG
logfile=${testdir}/messages.log
cache="FILE:${testdir}/cache.krb5"
testfailed="echo test failed; cat ${logfile}; exit 1"
dscl . -delete /Users/$u > /dev/null 2>/dev/null
dscl . -create /Users/$u || exit 1
dscl . -create /Users/$u/UniqueID $uid
dscl . -create /Users/$u/PrimaryGroupID 20
dscl . -append /Users/$u RealName "Heimdal testuser" || exit 1
dscl . -delete /Users/$s > /dev/null 2>/dev/null
dscl . -create /Users/$s || exit 1
dscl . -create /Users/$s/UniqueID $(expr $uid + 1)
dscl . -create /Users/$s/PrimaryGroupID 20
dscl . -append /Users/$s RealName "Heimdal test server" || exit 1
defaults write com.apple.Kerberos ForceHeimODServerMode -bool YES
trap "defaults delete com.apple.Kerberos ForceHeimODServerMode" EXIT
$hodadmin . principal-create $u $u@$r || exit 1
$hodadmin . password $u foo || exit 1
$hodadmin . password $u foo || exit 1
$hodadmin . principal-clearflags $u Invalid Forwardable || exit 1
$hodadmin . principal-setflags $u Forwardable || exit 1
$hodadmin . principal-create $s $s@$r || exit 1
$hodadmin . password $s foo || exit 1
$hodadmin . principal-clearflags $s Invalid Forwardable || exit 1
$hodadmin . principal-setflags $s Forwardable || exit 1
$hodadmin . alias-add $s host/$s.$d@$r || exit 1
$hodadmin . password --append $s foo host/$s.$d@$r || exit 1
$hodadmin . alias-add $s cifs/$s.$d@$r || exit 1
$hodadmin . password --append $s foo cifs/$s.$d@$r || exit 1
$hodadmin . alias-remove $s cifs/$s.$d@$r || exit 1
defaults delete com.apple.Kerberos ForceHeimODServerMode
trap - EXIT
dscl . -delete /Users/$u
dscl . -delete /Users/$s
exit $ec