Contents of /mcore-src/trunk/mcore-tools/daemon/include/sessionauth.global.class
Parent Directory | Revision Log
Revision 1640 -
(show annotations)
(download)
Thu Mar 10 18:10:08 2011 UTC (13 years, 6 months ago) by niro
File size: 1767 byte(s)
Thu Mar 10 18:10:08 2011 UTC (13 years, 6 months ago) by niro
File size: 1767 byte(s)
-removed commented stuff -make use of error echo function eecho() -use mecho() for informal-only echos -use rvecho() for function retvals
1 | # $Id$ |
2 | |
3 | provide auth ssl |
4 | |
5 | PASSWD="/etc/mcoredpasswd" |
6 | |
7 | md5crypt() |
8 | { |
9 | local pass="$1" |
10 | md5sum << EOF | sed 's:\(.*\)\ \ .*-.*:\1:' |
11 | ${pass} |
12 | EOF |
13 | } |
14 | |
15 | mcorepasswd() |
16 | { |
17 | local user="$1" |
18 | local pass |
19 | local validate |
20 | |
21 | if [[ -z ${user} ]] |
22 | then |
23 | echo "No username given! Aborting." |
24 | return 1 |
25 | fi |
26 | |
27 | # get pass |
28 | echo -n "Enter Password: " |
29 | stty -echo |
30 | read pass |
31 | stty echo |
32 | echo |
33 | |
34 | echo -n "Retype Password: " |
35 | stty -echo |
36 | read validate |
37 | stty echo |
38 | echo |
39 | |
40 | if [[ ${pass} == ${validate} ]] |
41 | then |
42 | # encrypt and save |
43 | echo "${user}:$(md5crypt ${pass})" > ${PASSWD} |
44 | echo "Password for user '${user}' changed by $(id -u -n)." |
45 | else |
46 | echo "Passwords don't match!" |
47 | echo "Password for user '${user}' is unchanged." |
48 | return 1 |
49 | fi |
50 | |
51 | } |
52 | |
53 | validate_auth() |
54 | { |
55 | local user="$1" |
56 | local pass="$2" |
57 | |
58 | local passwduser |
59 | local passwdpass |
60 | |
61 | # return 0 if ${valid_auth=yes} - user alread authenticated |
62 | valid_session && return 0 |
63 | |
64 | if [[ ! -f ${PASSWD} ]] |
65 | then |
66 | eecho "passwd '${PASSWD}' does not exist!" |
67 | return 1 |
68 | fi |
69 | |
70 | passwduser=$(grep "^${user}:" ${PASSWD} | cut -d: -f1) |
71 | passwdpass=$(grep "^${user}:" ${PASSWD} | cut -d: -f2) |
72 | |
73 | if [[ -n ${passwduser} ]] |
74 | then |
75 | if [[ $(md5crypt ${pass}) == ${passwdpass} ]] |
76 | then |
77 | mecho "password for user '${user}' is valid!" |
78 | mecho "Successfully logged in. Type 'help' for more information." |
79 | export valid_session="yes" |
80 | return 0 |
81 | else |
82 | mecho "password for user '${user}' is invalid!" |
83 | export valid_session="no" |
84 | return 1 |
85 | fi |
86 | else |
87 | eecho "User '${user}' unkown." |
88 | export valid_session="no" |
89 | return 1 |
90 | fi |
91 | } |
92 | |
93 | valid_session() |
94 | { |
95 | if [[ ${valid_session} = yes ]] |
96 | then |
97 | return 0 |
98 | else |
99 | return 1 |
100 | fi |
101 | } |
102 | |
103 | invalid_session() |
104 | { |
105 | if [[ ${valid_session} != yes ]] |
106 | then |
107 | eecho "not logged in..." |
108 | # export quit signal |
109 | export run=quit |
110 | fi |
111 | } |