Révision 5c3812b2 scripts/net2dip.sendtohurlevent.php
scripts/net2dip.sendtohurlevent.php | ||
---|---|---|
49 | 49 |
//Creation automatique du fichier de mots de passe pour les restrictions de connexion |
50 | 50 |
//sur les depot apt and co |
51 | 51 |
$fic_htpass = "/tmp/htpasswd-anet"; |
52 |
$fic_htpass908 = "/tmp/htpasswd-anet908"; |
|
53 |
$fic_htpass1108 = "/tmp/htpasswd-anet1108"; |
|
52 | 54 |
//Avec un nom checksum pour ne pas eveiller l'attention |
53 | 55 |
$dir_htpass_public = "/home/webs/www.abuledu.net/htdocs/epack/export/"; |
54 |
$fic_htpass_public = "checksum"; |
|
55 |
$result = system("rm -f " . $fic_htpass . " " . $dir_htpass_public . $fic_htpass_public . "&& touch " . $fic_htpass); |
|
56 |
$fic_htpass_public = "checksum"; |
|
57 |
$fic_htpass_public908 = "checksum-908"; |
|
58 |
$fic_htpass_public1108 = "checksum-1108"; |
|
59 |
$result = system("rm -f " |
|
60 |
. " " . $fic_htpass |
|
61 |
. " " . $fic_htpass908 |
|
62 |
. " " . $fic_htpass1108 |
|
63 |
. " " . $dir_htpass_public . $fic_htpass_public |
|
64 |
. " " . $dir_htpass_public . $fic_htpass_public908 |
|
65 |
. " " . $dir_htpass_public . $fic_htpass_public1108 |
|
66 |
. "&& touch " . $fic_htpass |
|
67 |
. "&& touch " . $fic_htpass908 |
|
68 |
. "&& touch " . $fic_htpass1108 |
|
69 |
); |
|
70 |
|
|
71 |
function nettoyage($s) { |
|
72 |
$texte = str_replace(" ","",$s); |
|
73 |
$texte = str_replace("'","",$texte); |
|
74 |
$texte = str_replace('"',"",$texte); |
|
75 |
return $texte; |
|
76 |
} |
|
56 | 77 |
|
57 |
function make_htpass($login,$pass) { |
|
58 |
global $fic_htpass; |
|
78 |
function make_htpass($fic, $login,$pass) { |
|
59 | 79 |
$l = $login; |
60 | 80 |
//debug |
61 | 81 |
//echo "login: $login / $pass\n"; |
... | ... | |
68 | 88 |
$login = trim(str_replace(".dip.abuledu.net","",$login)); |
69 | 89 |
|
70 | 90 |
//Et le login en MAG et MIN because a bug ou un truc a la con qqpart dans la chaine |
71 |
$result = shell_exec("htpasswd -mb " . $fic_htpass . " " . trim(strtolower($login)) . " " . trim($pass) . " 2>&1");
|
|
72 |
$result = shell_exec("htpasswd -mb " . $fic_htpass . " " . trim(strtoupper($login)) . " " . trim($pass) . " 2>&1");
|
|
91 |
$result = shell_exec("htpasswd -mb " . $fic . " " . trim(strtolower($login)) . " " . trim(nettoyage($pass)) . " 2>&1");
|
|
92 |
$result = shell_exec("htpasswd -mb " . $fic . " " . trim(strtoupper($login)) . " " . trim(nettoyage($pass)) . " 2>&1");
|
|
73 | 93 |
} |
74 | 94 |
|
75 |
|
|
76 | 95 |
//Les serveurs avant 2009 ne sont pas des epacks et leur mot de passe est stocke en crypte |
77 | 96 |
$query = "SELECT e.password as gnudip_pass,os_license_number as dns_alias0,os_license_id as dns_alias1 FROM glpi_computers AS c |
78 | 97 |
LEFT JOIN glpi_plugin_anet_epacks AS e ON e.FK_serveur=c.ID |
... | ... | |
88 | 107 |
// dns a l autre bout ... |
89 | 108 |
// $text .= implode(";",$row) . "\n"; |
90 | 109 |
$text .= trim($row[0]) . ";" . trim($row[1]) . ";" . trim($row[2]) . ";\n"; |
91 |
make_htpass($row[1],$row[0]); |
|
110 |
make_htpass($fic_htpass, $row[1],$row[0]);
|
|
92 | 111 |
} |
93 | 112 |
|
94 | 113 |
//les serveurs post ENR sont des epacks reels et leur mot de passe n'est pas crypte |
... | ... | |
108 | 127 |
for ( $i = 0; $i < $nb; $i++) { |
109 | 128 |
$row = $result2->fetchrow(); |
110 | 129 |
$text .= implode(";",$row) . "\n"; |
111 |
make_htpass($row[1],$row[0]); |
|
130 |
make_htpass($fic_htpass, $row[1],$row[0]);
|
|
112 | 131 |
} |
113 | 132 |
|
114 | 133 |
//Et ensuite les comptes utilisateurs pour les espaces limites uniquement |
... | ... | |
118 | 137 |
WHERE gup.FK_profiles = '5' OR gup.FK_profiles = '7' |
119 | 138 |
GROUP BY name"; |
120 | 139 |
if ( DB::isError($result3 = $dbglpi->query($query3)) ) { |
121 |
die ("***\n$query2\n" . DB::errorMessage($result3) . "\n***\n\n");
|
|
140 |
die ("***\n$query3\n" . DB::errorMessage($result3) . "\n***\n\n");
|
|
122 | 141 |
} |
123 | 142 |
|
124 | 143 |
$nb = $result3->NumRows(); |
... | ... | |
127 | 146 |
//le nom en minuscule, sans accents et sans espaces |
128 | 147 |
$nom = anti_speciaux($row[1],2); |
129 | 148 |
$login = trim($row[0]); |
130 |
make_htpass($login,$nom); |
|
149 |
make_htpass($fic_htpass, $login,$nom); |
|
150 |
} |
|
151 |
|
|
152 |
//Maintenant, les personnes qui ont suivies la formation 9.08 clé "493" dans la table glpi_groups |
|
153 |
$query4 = "SELECT name, realname FROM glpi_users as gu |
|
154 |
LEFT JOIN glpi_users_groups as gug ON gug.FK_users=gu.ID |
|
155 |
WHERE gug.FK_groups = '493' GROUP BY name"; |
|
156 |
if ( DB::isError($result4 = $dbglpi->query($query4)) ) { |
|
157 |
die ("***\n$query4\n" . DB::errorMessage($result4) . "\n***\n\n"); |
|
158 |
} |
|
159 |
|
|
160 |
$nb = $result4->NumRows(); |
|
161 |
for ( $i = 0; $i < $nb; $i++) { |
|
162 |
$row = $result4->fetchrow(); |
|
163 |
//le nom en minuscule, sans accents et sans espaces |
|
164 |
$nom = anti_speciaux($row[1],2); |
|
165 |
$login = trim($row[0]); |
|
166 |
make_htpass($fic_htpass908, $login, $nom); |
|
167 |
//echo "$fic_htpass908 ... $login : $nom\n"; |
|
168 |
} |
|
169 |
|
|
170 |
//Maintenant, les personnes qui ont suivies la formation 11.08 clé "494" dans la table glpi_groups |
|
171 |
$query5 = "SELECT name, realname FROM glpi_users as gu |
|
172 |
LEFT JOIN glpi_users_groups as gug ON gug.FK_users=gu.ID |
|
173 |
WHERE gug.FK_groups = '494' GROUP BY name"; |
|
174 |
if ( DB::isError($result5 = $dbglpi->query($query5)) ) { |
|
175 |
die ("***\n$query5\n" . DB::errorMessage($result5) . "\n***\n\n"); |
|
176 |
} |
|
177 |
|
|
178 |
$nb = $result5->NumRows(); |
|
179 |
for ( $i = 0; $i < $nb; $i++) { |
|
180 |
$row = $result5->fetchrow(); |
|
181 |
//le nom en minuscule, sans accents et sans espaces |
|
182 |
$nom = anti_speciaux($row[1],2); |
|
183 |
$login = trim($row[0]); |
|
184 |
//echo "$fic_htpass1108 ... $login : $nom\n"; |
|
185 |
make_htpass($fic_htpass1108, $login, $nom); |
|
131 | 186 |
} |
132 | 187 |
|
188 |
|
|
133 | 189 |
/* |
134 | 190 |
* |
135 | 191 |
* EXPEDITION DES DONNEES POUR LE SERVEUR GNUDIP |
... | ... | |
148 | 204 |
|
149 | 205 |
$command = 'echo "'.$text.'" | '.$gpg.' -a --always-trust --batch --no-secmem-warning -s -e -u "'.$user_from.'" -r "'.$user_dyndns.'"'; |
150 | 206 |
$result = exec($command, $encrypted, $errorcode); |
207 |
//print $command . "\n"; |
|
208 |
|
|
151 | 209 |
$message = implode("\n", $encrypted); |
152 | 210 |
/* |
153 | 211 |
if( ereg("-----BEGIN PGP MESSAGE-----.*-----END PGP MESSAGE-----",$message) ) { |
... | ... | |
167 | 225 |
//Ensuite on GPG Crypte le fichier de htpasswd avec la meme cle |
168 | 226 |
$encrypted = ""; |
169 | 227 |
$message = ""; |
170 |
$command = 'rm -f "' . $dir_htpass_public . $fic_htpass_public . '" && cat "' . $fic_htpass . '" | ' . $gpg . ' --always-trust --batch --no-secmem-warning -s -e -u "' . $user_from . '" -r "' . $user_apt . '" > ' . $dir_htpass_public . $fic_htpass_public; |
|
171 |
//print $command; |
|
228 |
$command = 'rm -f "' . $dir_htpass_public . $fic_htpass_public . '" && cat "' . $fic_htpass . '" | ' . $gpg . ' --always-trust --batch --no-secmem-warning -s -e -u "' . $user_from . '" -r "' . $user_apt . '" > ' . $dir_htpass_public . $fic_htpass_public; |
|
229 |
$result = exec($command, $encrypted, $errorcode); |
|
230 |
//print $command . "\n"; |
|
231 |
|
|
232 |
$encrypted = ""; |
|
233 |
$message = ""; |
|
234 |
$command = 'rm -f "' . $dir_htpass_public . $fic_htpass_public908 . '" && cat "' . $fic_htpass908 . '" | ' . $gpg . ' --always-trust --batch --no-secmem-warning -s -e -u "' . $user_from . '" -r "' . $user_apt . '" > ' . $dir_htpass_public . $fic_htpass_public908; |
|
235 |
$result = exec($command, $encrypted, $errorcode); |
|
236 |
//print $command . "\n"; |
|
237 |
|
|
238 |
$encrypted = ""; |
|
239 |
$message = ""; |
|
240 |
$command = 'rm -f "' . $dir_htpass_public . $fic_htpass_public1108 . '" && cat "' . $fic_htpass1108 . '" | ' . $gpg . ' --always-trust --batch --no-secmem-warning -s -e -u "' . $user_from . '" -r "' . $user_apt . '" > ' . $dir_htpass_public . $fic_htpass_public1108; |
|
172 | 241 |
$result = exec($command, $encrypted, $errorcode); |
242 |
//print $command . "\n"; |
|
173 | 243 |
|
174 | 244 |
//le fichier de checksum que les serveurs vont downloader pour verifier si y a une mise a jour |
175 | 245 |
$result = exec("cd " . $dir_htpass_public . " && md5sum " . $fic_htpass_public . " > " . $fic_htpass_public . ".md5"); |
Formats disponibles : Unified diff