~ubuntu-branches/ubuntu/natty/sadms/natty

« back to all changes in this revision

Viewing changes to bin/_test-auth.sh

  • Committer: Bazaar Package Importer
  • Author(s): Gauvain Pocentek
  • Date: 2010-02-22 20:14:54 UTC
  • Revision ID: james.westby@ubuntu.com-20100222201454-up4zkzo13w9091i0
Tags: upstream-2.0.14~CVS20100222
ImportĀ upstreamĀ versionĀ 2.0.14~CVS20100222

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/bin/bash
 
2
# bbou@ac-toulouse.fr
 
3
# 2007-05-22 16:36:55 
 
4
# _test-auth.sh
 
5
 
 
6
### P A R A M S
 
7
 
 
8
MYVERBOSE=
 
9
if [ "$1" = "-v" ]; then
 
10
        MYVERBOSE="True"
 
11
        shift
 
12
fi
 
13
MYUSER="$1"
 
14
MYPWD="$2"
 
15
MYDOMAIN="$3"
 
16
MYREALM="$4"
 
17
 
 
18
### I N C L U D E
 
19
 
 
20
. ./_include.sh
 
21
 
 
22
### S T A R T
 
23
sep=`testparm -sv 2> /dev/null | grep 'winbind separator' | awk '{print $4}'`
 
24
 
 
25
function auth()
 
26
{
 
27
        if wbinfo -a "$1" > /dev/null 2> /dev/null; then
 
28
                wbinfo -a "$1" | grep 'succeeded$'
 
29
                return 0
 
30
        fi
 
31
        wbinfo -a "$1" | grep 'failed$'
 
32
        return 1
 
33
}
 
34
 
 
35
function impersonate()
 
36
{
 
37
        #su - "$1" -c "id" 2> /dev/null
 
38
        expect session.expect "$2" su "$1" -c id 2> /dev/null
 
39
        return $?
 
40
}
 
41
 
 
42
function getSid()
 
43
{
 
44
        if wbinfo -n "$1" > /dev/null 2> /dev/null; then
 
45
                wbinfo -n "$1" | awk '{print $1}'
 
46
                return 0
 
47
        fi
 
48
        return 1
 
49
}
 
50
 
 
51
function getLogin()
 
52
{
 
53
        if wbinfo -s "$1" > /dev/null 2> /dev/null; then
 
54
                wbinfo -s "$1" | awk '{print $1}'
 
55
                return 0
 
56
        fi
 
57
        return 1
 
58
}
 
59
 
 
60
echo "--------------------------------------------------------------------------------"
 
61
echo "AUTHENTICATION TEST"
 
62
echo "--------------------------------------------------------------------------------"
 
63
 
 
64
if [ "${MYUSER}" == "" ]; then
 
65
        echo "No user selected (see Credentials)"
 
66
        exit 1
 
67
fi
 
68
echo "+AUTHENTICATION"
 
69
echo "+authenticating ${MYUSER}"
 
70
if ! auth "${MYUSER}%${MYPWD}"; then
 
71
        echo "authenticating ${MYUSER} failed" >&2
 
72
fi
 
73
 
 
74
echo "+authenticating ${MYDOMAIN}${sep}${MYUSER}"
 
75
if ! auth "${MYDOMAIN}${sep}${MYUSER}%${MYPWD}"; then
 
76
        echo "authenticating ${MYDOMAIN}${sep}${MYUSER} failed" >&2
 
77
fi
 
78
echo "+authenticating ${MYREALM}${sep}${MYUSER}"
 
79
if ! auth "${MYREALM}${sep}${MYUSER}%${MYPWD}"; then
 
80
        echo "authenticating ${MYREALM}${sep}${MYUSER} failed" >&2
 
81
fi
 
82
 
 
83
echo "+impersonating ${MYUSER}"
 
84
if impersonate "${MYUSER}" "${MYPWD}"; then
 
85
        echo "ok"
 
86
else
 
87
        echo "impersonating ${MYUSER} failed" >&2
 
88
fi
 
89
echo "+impersonating ${MYDOMAIN}${sep}${MYUSER}"
 
90
if impersonate "${MYDOMAIN}${sep}${MYUSER}" "${MYPWD}"; then
 
91
        echo "ok"
 
92
else
 
93
        echo "impersonating ${MYDOMAIN}${sep}${MYUSER} failed" >&2
 
94
fi
 
95
 
 
96
echo "+SID"
 
97
echo "+getting security id (sid) for ${MYDOMAIN}${sep}${MYUSER}"
 
98
if ! getSid "${MYDOMAIN}${sep}${MYUSER}"; then
 
99
        echo "getting sid for ${MYDOMAIN}${sep}${MYUSER} failed" >&2
 
100
else
 
101
        echo "+getting login from ${MYDOMAIN}${sep}${MYUSER} sid"
 
102
        sid=`getSid "${MYUSER}"`
 
103
        if ! getLogin "${sid}"; then
 
104
                echo "getting login from ${MYUSER} sid failed" >&2
 
105
        fi
 
106
fi