Projet

Général

Profil

Init_Appli_MEN_V1.sh

axel nikolof, 08/07/2016 13:47

Télécharger (6,92 ko)

 
1
#!/bin/bash
2
#MENU=preparation de l'horus pour les appli nationales (lancer en premier)
3
if [ -z "`lsof -i | grep gds_db`" ]; then
4
        {
5
        echo "Interbase n'est pas lance, modifiez votre .eol avec gen_config pour corriger ce point."
6
        interbase=1
7
        }
8
    else
9
        {
10
        echo "Interbase est bien lance."
11
        interbase=0
12
    }
13
fi
14

    
15
if [ -f "/root/interbase.sh" ]; then
16
        echo "fichier /root/interbase.sh present"
17
    else
18
        echo "Fichier pour les licences interbase non present(/root/interbase.sh), il vous faudra les appliquer plus tard."
19
fi
20

    
21
if [ -z "`ls /data/minedu | grep -i win*`" ] ; then
22
    {
23
    echo "l'arborescence gfc et presto n'existe pas."
24
    repertoiremen=0
25
    }
26
    else
27
        {
28
        echo "l'arborescence gfc et presto existe deja dans le /data/minedu."
29
        repertoiremen=1
30
        }
31
fi
32
if [ -z "`getent group gfc`" ] ; then
33
    {
34
    echo "le groupe gfc n'existe pas."
35
    groupgfc=0
36
}
37
    else
38
        {
39
        echo "le groupe gfc existe deja."
40
        groupgfc=1
41
        }
42
fi
43
if [ -z "`getent group presto`" ] ; then
44
    {
45
    echo "le groupe presto n'existe pas."
46
    grouppresto=0
47
    }
48
    else
49
        {
50
        echo "le groupe presto existe deja."
51
        grouppresto=1
52
        }
53
fi
54
if [ -z "`getent group administrateurs`" ] ; then
55
    {
56
    echo "le groupe administrateurs n'existe pas."
57
    groupadm=0
58
    }
59
        else
60
            {
61
            echo "le groupe administrateurs existe deja."
62
            groupadm=1
63
            }
64
fi
65
if [ -z "`getent passwd install`" ]; then
66
    {
67
    echo "l'utilisateur install n'existe pas."
68
    userinstall=0
69
    }
70
    else
71
        {
72
        echo "l'utilisateur install existe deja."
73
        userinstall=1
74
        }
75
fi
76
if [ -z "`getfacl -p /data/minedu/wintmp/ | grep -i administrateurs`" ]; then
77
    {
78
    echo "les droits ne sont pas appliques."
79
    droitsadm=0
80
    }
81
    else
82
        {
83
        echo "droits deja appliques."
84
        droitsadm=1
85
        }
86
fi
87

    
88
if [ $(( $repertoiremen + $groupadm + $userinstall + $grouppresto + $groupgfc + $droitsadm )) -ne 0 ] ; then
89
    echo -e "\nATTENTION : Vous n'etes pas dans le cadre d'une primo installation, des elements sont deja presents."
90
    echo -e "Pour eviter tout probleme, ce script ne fera rien hormis la reinitialisation du mot de passe mysql.\n"
91
else
92
    {
93
        echo "creation de l'arborescence pour GFC et PRESTO"
94
        dossier=/data/minedu
95
        mkdir -p $dossier/winappli/{men_inst/param/echecs,men_ctrl,gfcwin,presto}
96
        mkdir -p $dossier/windata/{men_inst,men_svg,echanges}
97
        mkdir -p $dossier/wintmp/{men_inst,men_svg}
98
        touch /data/minedu/winappli/men_inst/param/logfile.txt
99

    
100
        echo "Ajout du groupe gfc"
101
        /usr/share/eole/backend/ajout_groupe.py gfc
102

    
103
        echo "Ajout du groupe presto"
104
        /usr/share/eole/backend/ajout_groupe.py presto
105

    
106
        echo "Ajout du groupe administrateurs"
107
        /usr/share/eole/backend/ajout_groupe.py administrateurs
108

    
109
        echo "Ajout de l'utilisateur install"
110
        /usr/share/eole/backend/ajout_utilisateur.py -u "install;administrateurs,minedu;U;install" -a
111

    
112
        echo "application des droits du groupe administrateurs, necessaires aux applications nationales"
113
        /usr/bin/setfacl -Rm g:administrateurs:rwx,mask::rwx,default:group:administrateurs:rwx /data/minedu/wintmp
114
        /usr/bin/setfacl -Rm g:administrateurs:rwx,mask::rwx,default:group:administrateurs:rwx /data/minedu/winappli
115
        /usr/bin/setfacl -Rm g:administrateurs:rwx,mask::rwx,default:group:administrateurs:rwx /data/minedu/windata
116
        echo "application des droits necessaires a GFC et PRESTO"
117
        /usr/bin/setfacl -m user::rwx,group::r-x,group:minedu:r--,group:presto:r-x,group:gfc:r-x,mask::rwx,other::r-x,default:user::rwx,default:group::r--,default:group:minedu:r--,default:mask::rwx,default:other::r-- $dossier/winappli
118
        /usr/bin/setfacl -m user::rwx,group::r--,group:minedu:r--,group:gfc:r-x,mask::rwx,other::r--,default:user::rwx,default:group::r--,default:group:minedu:r--,default:group:gfc:r-x,default:mask::rwx,default:other::r-- $dossier/winappli/gfcwin
119
        /usr/bin/setfacl -m user::rwx,group::r--,group:minedu:r--,group:presto:r-x,mask::rwx,other::r--,default:user::rwx,default:group::r--,default:group:minedu:r--,default:group:presto:r-x,default:mask::rwx,default:other::r-- $dossier/winappli/presto
120
        /usr/bin/setfacl -m user::rwx,group::r--,group:minedu:r--,group:gfc:r-x,group:presto:r-x,mask::rwx,other::r--,default:user::rwx,default:group::r--,default:group:minedu:r--,default:group:gfc:r-x,default:group:presto:r-x,default:mask::rwx,default:other::r-- $dossier/winappli/men_inst
121
        /usr/bin/setfacl -m user::rwx,group::r-x,group:minedu:r--,group:gfc:r-x,group:presto:r-x,mask::rwx,other::r-x,default:user::rwx,default:group::r--,default:group:minedu:r--,default:group:gfc:r-x,default:group:presto:r-x,default:mask::rwx,default:other::r-- $dossier/winappli/men_inst/param
122
        /usr/bin/setfacl -m user::rwx,group::r-x,group:minedu:r--,group:gfc:rwx,group:presto:rwx,mask::rwx,other::r-x,default:user::rwx,default:group::r--,default:group:minedu:r--,default:group:gfc:rwx,default:group:presto:rwx,default:mask::rwx,default:other::r-- $dossier/winappli/men_inst/param/echecs
123
        /usr/bin/setfacl -m user::rwx,group::r--,group:minedu:r--,group:gfc:rwx,group:presto:rwx,mask::rwx,other::r-- $dossier/winappli/men_inst/param/logfile.txt
124
        /usr/bin/setfacl -m user::rwx,group::r--,group:minedu:r--,group:gfc:r-x,group:presto:r-x,mask::rwx,other::r--,default:user::rwx,default:group::r--,default:group:minedu:r--,default:group:gfc:r-x,default:group:presto:r-x,default:mask::rwx,default:other::r-- $dossier/winappli/men_ctrl
125
        /usr/bin/setfacl -m user::rwx,group::r--,group:minedu:r--,group:gfc:r--,group:presto:r--,mask::rwx,other::r--,default:user::rwx,default:group::r--,default:group:minedu:r--,default:mask::rwx,default:other::r-- $dossier/windata
126
        /usr/bin/setfacl -m user::rwx,group::r-x,group:minedu:r--,group:gfc:r-x,group:presto:r-x,mask::rwx,other::r-x,default:user::rwx,default:group::r--,default:group:minedu:r--,default:group:gfc:r-x,default:group:presto:r-x,default:mask::rwx,default:other::r-- $( find $dossier/windata/* | grep -iv "/selene" | grep -iv "/echanges")
127
        /usr/bin/setfacl -Rm user::rwx,group::r-x,group:minedu:r--,group:gfc:rwx,group:presto:rwx,mask::rwx,other::r-x,default:user::rwx,default:group::r--,default:group:minedu:r--,default:group:gfc:rwx,default:group:presto:rwx,default:mask::rwx,default:other::r-- $dossier/wintmp
128
        echo "ajout des licences interbase :"
129
        /bin/bash /root/interbase.sh
130
    }
131
fi
132
echo "changement temporaire du mot de passe root (mysql) permettant l'installation de gfc"
133
#horus 2.3
134
if [ -f /usr/share/eole/mysql_pwd.py ]
135
then
136
    /usr/share/eole/mysql_pwd.py masterkey
137
#horus 2.4
138
else
139
    /usr/share/eole/sbin/mysql_pwd.py masterkey
140
fi
141
mysql -uroot -pmasterkey -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'masterkey' WITH GRANT OPTION;"
142
mysql -uroot -pmasterkey -e "flush PRIVILEGES;"
143