ADD_NEW_SUPERADMIN_LDAP_USER
3.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
#!/bin/bash
# -- Ajout d'un nouvel utilisateur superadmin
# (qui doit correspondre à un utilisateur référencé dans l'annuaire LDAP)
# INPUT args
# $1 = platforme (par défaut linux)
# Mac ou Linux ?
# Linux
MACOS=
# Mac
#MACOS=ON
[[ $1 == "macos" ]] && MACOS=ON
# Mode DEBUG (=ON pour activer)
# - DEBUG OFF
DEBUG=
# - DEBUG ON
#DEBUG=ON
[ $DEBUG ] && echo "DEBUG MODE ON"
#[ ! $DEBUG ] && echo "DEBUG MODE OFF"
# Nom du script sql
sqlscript=./database/add_new_superadmin_ldap_user
if [ ! -f config/app.php ] ; then
#if [ ! -f ../config/app.php ] ; then
# echo "Vous devez executer ce script depuis le dossier database/"
echo "Vous devez executer ce script depuis la racine du projet"
exit 1
fi
# Demander le login de ce nouveau superadmin
while : ; do
echo "Entrez le 'login' (LDAP) du nouvel utilisateur Super Administrateur :"
read rep
[[ ! -z $rep ]] && break
done
new_sa_login=$rep
echo
echo "Tapez une touche pour confirmer sa création dans la base de données..."
read key
# Get login, pass, dbname, and hostname
username=$(grep "/\*d\*/'username'" ./config/app.php | cut -d"'" -f4)
password=$(grep "/\*d\*/'password'" ./config/app.php | cut -d"'" -f4)
database=$(grep "/\*d\*/'database'" ./config/app.php | cut -d"'" -f4)
host=$(grep "/\*d\*/'host'" ./config/app.php | cut -d"'" -f4)
#if [[ $DEBUG == 1 ]] ; then
if [ $DEBUG ] ; then
echo "new superadmin : $new_sa_login"
echo "db: $database"
echo "user: $username"
echo "pass: $password"
echo "host: $host"
#exit
fi
cp -p $sqlscript.sql $sqlscript-build.sql
# marche pas bouh...
##QUOTE=""
##[ $MACOS ] && QUOTE="''"
##sed -e "s/_database_/$database/" -i $QUOTE $sqlscript-build.sql
##sed -e "s/_sa_login_/$new_sa_login/" -i $QUOTE $sqlscript-build.sql
# Execute sql update script
if [ $MACOS ] ; then
# MacOS only :
sed -e "s/_database_/$database/" -i '' $sqlscript-build.sql
sed -e "s/_new_sa_login_/$new_sa_login/" -i '' $sqlscript-build.sql
else
# Linux :
sed -e "s/_database_/$database/" -i $sqlscript-build.sql
sed -e "s/_new_sa_login_/$new_sa_login/" -i $sqlscript-build.sql
fi
#[ ! $DEBUG ] && mysql --user=$username --password=$password -h $host < $sqlscript-build.sql
if [ ! $DEBUG ] ; then
#echo "exec sql"
mysql --user=$username --password=$password -h $host < $sqlscript-build.sql
fi
#echo $?
#error
if [ $? -ne 0 ] ; then
echo "Une erreur s'est produite"
echo "ABORT !"
exit 1
fi
[ ! $DEBUG ] && rm $sqlscript-build.sql
# Delete cakephp cache
#### (EP 20210129) avant tout ca se faisait avec sudo...
####sudo rm ../tmp/cache/models/*
chmod -R 777 ./tmp
rm ./tmp/cache/models/* > /dev/null 2>&1
rm ./tmp/cache/persistent/* > /dev/null 2>&1
# Rendre accessible a nouveau les dossiers webroot/ et vendor/
####chmod -R 777 ../tmp
####chmod -R 777 ../vendor
chmod -R 777 ./vendor/aferrandini/phpqrcode
####chmod -R 777 ../webroot
#img/qrcodes et img/photos :
chmod -R 777 ./webroot/img
chmod -R 777 ./webroot/files
echo
echo "L'utilisateur '$new_sa_login' a été ajouté dans la BD"
echo
echo "Si l'application est en mode LDAP, vous devriez maintenant pouvoir vous connecter avec ce login (et le mdp du LDAP)."
echo
[ $DEBUG ] && (echo "Contenu du script sql $sqlscript-build.sql :" ; echo ; cat $sqlscript-build.sql ; echo)