Blame view

ADD_NEW_SUPERADMIN_LDAP_USER 3.51 KB
07e4c3fb   Etienne Pallier   v4.108.0-3.7.9 - ...
1
2
3
4
5
#!/bin/bash

# -- Ajout d'un nouvel utilisateur superadmin 
# (qui doit correspondre à un utilisateur référencé dans l'annuaire LDAP)

2f2cd340   Etienne Pallier   amelioration test...
6
# Si docker et execution directe (hors conteneur) depuis le repertoire data/ (bind du repertoire docker)
c4bc1ff0   Etienne Pallier   amelioration scri...
7
# => on rappelle ce meme script avec le CLI docker puis on exit
2f2cd340   Etienne Pallier   amelioration test...
8
[ -f ../docker-compose.yml ] && (docker exec -it labinvent $0 $* ; true) && exit
4365cfbd   Etienne Pallier   amelioration scri...
9
# Execution SANS docker, ou bien AVEC docker depuis le conteneur
2f2cd340   Etienne Pallier   amelioration test...
10
echo "IN $(pwd)"
4365cfbd   Etienne Pallier   amelioration scri...
11
12
13



c4bc1ff0   Etienne Pallier   amelioration scri...
14

07e4c3fb   Etienne Pallier   v4.108.0-3.7.9 - ...
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
# 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)