ADD_NEW_SUPERADMIN_LDAP_USER
3.43 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
128
129
130
131
132
133
134
135
136
137
#!/bin/bash
# -- Ajout d'un nouvel utilisateur superadmin
# (qui doit correspondre à un utilisateur référencé dans l'annuaire LDAP)
# Si execution directe depuis le repertoire data/ (bind du repertoire docker)
# => on rappelle ce meme script avec le CLI docker puis on exit
if [[ -f ../DOCKER_LABINVENT_START ]] ; then
#cd ../
docker exec -it labinvent $0
exit
fi
echo "IN $(pwd)"
# 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)