1 |
# $Header: /home/cvsd/alx-cvs/alx-src/alxconfig-ng/functions/config_auth.sh,v 1.3 2005-08-28 19:28:16 niro Exp $ |
# $Id$ |
2 |
# configures the system authentification via mysql db settings |
# configures the system authentification via mysql db settings |
3 |
|
|
4 |
get_auth_settings() |
get_auth_settings() |
5 |
{ |
{ |
6 |
local x i all count |
local x i all count |
7 |
|
|
8 |
#all arrays: |
# get settings from database |
9 |
# -> session1 session2 ... sessionN |
ALX_AUTH_SHELL_PW=$(mysqldo "select shell from client_auth where serial='${ALX_SERIAL}'") |
10 |
|
ALX_AUTH_VNC_PW=$(mysqldo "select vnc from client_auth where serial='${ALX_SERIAL}'") |
11 |
#get settings from database |
ALX_AUTH_STATION_PW=$(mysqldo "select station from client_auth where serial='${ALX_SERIAL}'") |
|
ALX_AUTH_SHELL_PW=$(mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \ |
|
|
"select shell from client_auth where serial='${ALX_SERIAL}'") |
|
|
ALX_AUTH_VNC_PW=$(mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \ |
|
|
"select vnc from client_auth where serial='${ALX_SERIAL}'") |
|
|
ALX_AUTH_SAMBA_PW=$(mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \ |
|
|
"select samba from client_auth where serial='${ALX_SERIAL}'") |
|
|
ALX_AUTH_STATION_PW=$(mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \ |
|
|
"select station from client_auth where serial='${ALX_SERIAL}'") |
|
12 |
|
|
13 |
export ALX_AUTH_SHELL_PW |
export ALX_AUTH_SHELL_PW |
14 |
export ALX_AUTH_VNC_PW |
export ALX_AUTH_VNC_PW |
|
export ALX_AUTH_SAMBA_PW |
|
15 |
export ALX_AUTH_STATION_PW |
export ALX_AUTH_STATION_PW |
16 |
} |
} |
17 |
|
|
18 |
config_auth() |
config_auth() |
19 |
{ |
{ |
20 |
#first of all get the vars |
# first of all get the vars |
21 |
get_auth_settings |
get_auth_settings |
22 |
|
|
23 |
[ -n "${ALX_AUTH_SHELL_PW}" ] && \ |
[ -n "${ALX_AUTH_SHELL_PW}" ] && \ |
24 |
usermod -p $(perl -e "printf(crypt('${ALX_AUTH_SHELL_PW}','AD'))") root |
usermod -p $(openssl passwd -1 ${ALX_AUTH_SHELL_PW}) root |
25 |
|
|
26 |
[ -n "${ALX_AUTH_STATION_PW}" ] && \ |
[ -n "${ALX_AUTH_STATION_PW}" ] && \ |
27 |
usermod -p $(perl -e "printf(crypt('${ALX_AUTH_SHELL_PW}','AD'))") ${ALX_UNPRIV_USER} |
usermod -p $(openssl passwd -1 ${ALX_AUTH_SHELL_PW}) ${ALX_UNPRIV_USER} |
28 |
|
|
29 |
if [ -n "${ALX_AUTH_SAMBA_PW}" ] |
# vnc passwd (min 6 chars) |
30 |
|
if [ -n "${ALX_AUTH_VNC_PW}" ] |
31 |
then |
then |
32 |
# >smb3 smbpasswd -a user password does not work anymore |
# pipe it 2x; 1st for new pw, 2nd to validate |
33 |
if [[ $(smbd --version | cut -d' ' -f2) > 2.999 ]] |
HOME=/root vncpasswd &> /dev/null << EOF |
34 |
then |
${ALX_AUTH_VNC_PW} |
35 |
smbpasswd -a root -s << EOF |
${ALX_AUTH_VNC_PW} |
|
${ALX_AUTH_SAMBA_PW} |
|
|
${ALX_AUTH_SAMBA_PW} |
|
36 |
EOF |
EOF |
|
else |
|
|
smbpasswd -a root ${ALX_AUTH_SAMBA_PW} |
|
|
fi |
|
37 |
fi |
fi |
38 |
|
|
39 |
# unset vars |
# unset vars |
40 |
unset ALX_AUTH_SHELL_PW |
unset ALX_AUTH_SHELL_PW |
41 |
unset ALX_AUTH_VNC_PW |
unset ALX_AUTH_VNC_PW |
|
unset ALX_AUTH_SAMBA_PW |
|
42 |
unset ALX_AUTH_STATION_PW |
unset ALX_AUTH_STATION_PW |
43 |
} |
} |