Blame view

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