|  | 
| 1 | 1 | #!/usr/bin/python3 | 
| 2 | 2 | # -*- coding: utf8 -*- | 
| 3 |  | - | 
| 4 |  | - | 
| 5 |  | -# Python Network script : | 
| 6 |  | -#  | 
| 7 |  | -# Change DB creds before launch : | 
|  | 3 | +# | 
|  | 4 | +# Python Script Install Differents Packages : | 
|  | 5 | +# Made in France by Mazzilli Baptiste (maba11@gmail.com) | 
|  | 6 | +# Created and Tested in Python3.9 on Ubuntu Server v.20.04.2 LTS | 
| 8 | 7 | # | 
| 9 | 8 | # Import Plugins for Bash commands, Apt Package, MYSQL Query: | 
| 10 | 9 | import subprocess | 
| 11 |  | -import apt | 
| 12 | 10 | import mysql.connector | 
| 13 |  | - | 
| 14 |  | -# Cache from APT Package | 
| 15 |  | -cache = apt.Cache() | 
| 16 |  | - | 
| 17 |  | -# Print Instructions at launch : | 
|  | 11 | +# Print Instructions at launch (Main Menu) : | 
| 18 | 12 | print() | 
| 19 | 13 | print("Lancement Programme Installation Réseau en cours ...") | 
| 20 | 14 | print() | 
|  | 
| 26 | 20 | print() | 
| 27 | 21 | print("4 - Installer un Routeur (DHCP - DNS - NTP - Network Forwarding)") | 
| 28 | 22 | print() | 
| 29 |  | -print("5 - Installer un Serveur VPN (OpenVPN)") | 
|  | 23 | +print("5 - Installer un Serveur LDAP (OpenLDAP)") | 
| 30 | 24 | print() | 
| 31 | 25 | print("6 - Quitter le Script") | 
| 32 | 26 | print() | 
| 33 |  | - | 
| 34 |  | -# Asking user what he wants to do (Main Menu): | 
| 35 |  | -user_answer = input("Que voulez-vous faire ? (1, 2, 3, 4, 5, 6) : ") | 
| 36 |  | - | 
|  | 27 | +# String User Answer : | 
|  | 28 | +user_answer = ("Que voulez-vous faire ? (1, 2, 3, 4, 5, 6) : ") | 
|  | 29 | +# While user doesn't choose answer 1 or 2 or 3 or 4 or 5 or 6, display input "user_answer" : | 
|  | 30 | +while user_answer != "1" and user_answer != "2" and user_answer != "3" and user_answer != "4" and user_answer != "5" and user_answer != "6": | 
|  | 31 | +# Asking user what he wants to do (Main Menu) : | 
|  | 32 | + user_answer = input("Que voulez-vous faire ? (1, 2, 3, 4, 5, 6) : ") | 
| 37 | 33 | # If Statements for Menu Options : | 
|  | 34 | +# Choice N°1 : Install Web Server (Apache or NginX Package) : | 
| 38 | 35 | if user_answer == "1": | 
| 39 | 36 |  print() | 
| 40 | 37 |  user_answer_web = input("Quel serveur Web voulez-vous installer ? (1 = Apache / 2 = NginX) : ") | 
|  | 
| 51 | 48 |  subprocess.call(["clear"]) | 
| 52 | 49 |  subprocess.call(["sudo", "apt-get", "install", "apache2", "-y"]) | 
| 53 | 50 |  print() | 
| 54 |  | - print("Apache installé avec succès !") | 
|  | 51 | + print("Serveur Apache installé avec succès !") | 
| 55 | 52 |  print() | 
| 56 | 53 |  elif user_answer_web =="2": | 
| 57 | 54 |  print() | 
|  | 
| 66 | 63 |  subprocess.call(["clear"]) | 
| 67 | 64 |  subprocess.call(["sudo", "apt-get", "install", "nginx", "-y"]) | 
| 68 | 65 |  print() | 
| 69 |  | - print("NginX installé avec succès !") | 
|  | 66 | + print("Serveur NginX installé avec succès !") | 
| 70 | 67 |  print() | 
| 71 | 68 |  else: | 
| 72 | 69 |  print() | 
| 73 | 70 |  print("Choisissez une option d'installation valide . Fermeture du script ...") | 
| 74 | 71 |  print() | 
|  | 72 | +# Choice N°2 : Install Wordpress Server (LAMP : Apache - MariaDB - PHP) : | 
| 75 | 73 | elif user_answer == "2": | 
| 76 | 74 |  print() | 
| 77 |  | - user_answer_web = input("Voulez-vous installer un serveur Wordpress sur une base LAMP ? (1 = Oui / 2 = Non) : ") | 
| 78 |  | - if user_answer_web =="1": | 
| 79 |  | - print() | 
| 80 |  | - print("Installation du serveur Wordpress en cours ... ") | 
| 81 |  | - print() | 
| 82 |  | - print("Mises à Jour en cours ... ") | 
| 83 |  | - print() | 
| 84 |  | - subprocess.call(["sudo", "apt-get", "update"]) | 
| 85 |  | - subprocess.call(["sudo", "apt-get", "upgrade", "-y"]) | 
| 86 |  | - subprocess.call(["sudo", "apt-get", "dist-upgrade", "-y"]) | 
| 87 |  | - subprocess.call(["sudo", "apt-get", "autoremove", "-y"]) | 
| 88 |  | - subprocess.call(["clear"]) | 
| 89 |  | - subprocess.call(["sudo", "apt-get", "install", "apache2", "php7.4-fpm", "php7.4-mysql", "mariadb-server", "-y"]) | 
| 90 |  | - subprocess.call(["sudo", "a2enmod", "proxy_fcgi", "setenvif"]) | 
| 91 |  | - subprocess.call(["sudo", "a2enconf", "php7.4-fpm"]) | 
| 92 |  | - subprocess.call(["sudo", "systemctl", "restart", "apache2"]) | 
| 93 |  | - print() | 
| 94 |  | - print("Packets Wordpress installé avec succès !") | 
| 95 |  | - print() | 
| 96 |  | - print("Configuration des services Web ... ") | 
| 97 |  | - print() | 
| 98 |  | - print("Création et configuration de la base de données ...") | 
| 99 |  | -# Database Connection and Queriess : | 
| 100 |  | - db_connection = mysql.connector.connect( | 
| 101 |  | - host= "localhost", | 
| 102 |  | - user= "wordpressuser", | 
| 103 |  | - passwd= "wordpresspassword" | 
| 104 |  | - ) | 
| 105 |  | - db_cursor = db_connection.cursor() | 
| 106 |  | - print() | 
| 107 |  | - db_cursor.execute("CREATE DATABASE wordpressdb") | 
| 108 |  | - db_cursor.execute("CREATE USER 'wordpressuser'@'localhost' IDENTIFIED BY 'wordpresspassword'") | 
| 109 |  | - db_cursor.execute("GRANT ALL PRIVILEGES ON * . * TO 'wordpressuser'@'localhost'") | 
| 110 |  | - db_cursor.execute("FLUSH PRIVILEGES") | 
| 111 |  | - print("Base de données & Utilisateur crées avec succès !") | 
| 112 |  | - print() | 
| 113 |  | - print("Identifiants créers par défault, à changer immédiatement :") | 
| 114 |  | - print() | 
| 115 |  | - print() | 
| 116 |  | - print("Nom de la Base de Données : wordpressdb") | 
| 117 |  | - print() | 
| 118 |  | - print("Utilisateur de la Base de Données : wordpressuser") | 
| 119 |  | - print() | 
| 120 |  | - print("Mot de passe de la Base de Données : wordpresspassword") | 
| 121 |  | - print() | 
| 122 |  | - print() | 
| 123 |  | - print("Suppression du fichier de configuration Apache par défaut ...") | 
| 124 |  | - subprocess.call(["sudo", "rm", "-rif", "/var/www/html/index.html"]) | 
| 125 |  | - print() | 
| 126 |  | - print("Téléchargement de l'archive Wordpress en cours ...") | 
| 127 |  | - print() | 
| 128 |  | - subprocess.call(["wget", "-q", "-c", "http://wordpress.org/latest.tar.gz"]) | 
| 129 |  | - print("Extraction et déplacement de l'archive en cours ...") | 
| 130 |  | - subprocess.call(["tar", "-xzvf", "/home/user1/latest.tar.gz", ">>", "/dev/null"]) | 
| 131 |  | - subprocess.call(["tar", "-xzf", "latest.tar.gz"]) | 
| 132 |  | - subprocess.call(["sudo", "mv", "wordpress/*", "/var/www/html/"]) | 
| 133 |  | - print() | 
| 134 |  | - print("Extraction et Déplacement des fichiers Wordpress terminés !") | 
| 135 |  | - print() | 
| 136 |  | - print("Vous pouvez maintenant configurer votre Site Wordpress depuis votre navigateur Internet !") | 
| 137 |  | - print() | 
| 138 |  | - elif user_answer_web =="2": | 
| 139 |  | - print() | 
| 140 |  | - print("Annulation de l'installation du site Wordpress. Retour au menu ... ") | 
| 141 |  | - print() | 
| 142 |  | - else: | 
| 143 |  | - print() | 
| 144 |  | - print("Choisissez une option d'installation valide . Fermeture du script ...") | 
| 145 |  | - print() | 
|  | 75 | + print("Installation du serveur Wordpress en cours ... ") | 
|  | 76 | + print() | 
|  | 77 | + print("Mises à Jour en cours ... ") | 
|  | 78 | + print() | 
|  | 79 | + subprocess.call(["sudo", "apt-get", "update"]) | 
|  | 80 | + subprocess.call(["sudo", "apt-get", "upgrade", "-y"]) | 
|  | 81 | + subprocess.call(["sudo", "apt-get", "dist-upgrade", "-y"]) | 
|  | 82 | + subprocess.call(["sudo", "apt-get", "autoremove", "-y"]) | 
|  | 83 | + subprocess.call(["clear"]) | 
|  | 84 | + subprocess.call(["sudo", "apt-get", "install", "apache2", "php7.4-fpm", "php7.4-mysql", "mariadb-server", "-y"]) | 
|  | 85 | + subprocess.call(["sudo", "a2enmod", "proxy_fcgi", "setenvif"]) | 
|  | 86 | + subprocess.call(["sudo", "a2enconf", "php7.4-fpm"]) | 
|  | 87 | + subprocess.call(["sudo", "systemctl", "restart", "apache2"]) | 
|  | 88 | + subprocess.call(["clear"]) | 
|  | 89 | + print() | 
|  | 90 | + print("Packets Web installés avec succès !") | 
|  | 91 | + print() | 
|  | 92 | + print("Configuration des services Web ... ") | 
|  | 93 | + print() | 
|  | 94 | + print("Création et configuration de la base de données ...") | 
|  | 95 | + print() | 
|  | 96 | + user_answer_db_name = input ("Quel nom pour la base de données Wordpress ? : ") | 
|  | 97 | + print() | 
|  | 98 | + user_answer_db_user = input ("Quel nom d'utilisateur pour la base de données Wordpress ? : ") | 
|  | 99 | + print() | 
|  | 100 | + user_answer_db_password = input ("Quel mot de passe de l'utilisateur pour la base de données Wordpress ? : ") | 
|  | 101 | + print() | 
|  | 102 | +# Database Queries : | 
|  | 103 | + db_connection = mysql.connector.connect( | 
|  | 104 | + host= "localhost", | 
|  | 105 | + user= "user1", | 
|  | 106 | + passwd= "password1" | 
|  | 107 | + ) | 
|  | 108 | + db_cursor = db_connection.cursor() | 
|  | 109 | + db_cursor.execute("CREATE DATABASE {}".format(user_answer_db_name)) | 
|  | 110 | + db_cursor.execute("CREATE USER '{}'@localhost".format(user_answer_db_user)) | 
|  | 111 | + db_cursor.execute("GRANT ALL ON wordpressdb.* TO'{}'".format(user_answer_db_user)) | 
|  | 112 | + print("Base de données & Utilisateur crées avec succès !") | 
|  | 113 | + print() | 
|  | 114 | + print("Suppression du fichier de configuration Apache par défaut ...") | 
|  | 115 | + subprocess.call(["sudo", "rm", "-rif", "/var/www/html/index.html"]) | 
|  | 116 | + print() | 
|  | 117 | + print("Téléchargement de l'archive Wordpress en cours ...") | 
|  | 118 | + print() | 
|  | 119 | + subprocess.call(["wget", "-q", "-c", "http://wordpress.org/latest.tar.gz"]) | 
|  | 120 | + print("Extraction et déplacement de l'archive en cours ...") | 
|  | 121 | + subprocess.call(["tar", "-xzf", "latest.tar.gz"]) | 
|  | 122 | + subprocess.call(["sudo", "mv", "wordpress/*", "/var/www/html/"]) | 
|  | 123 | + print() | 
|  | 124 | + print("Extraction et Déplacement des fichiers Wordpress terminés.") | 
|  | 125 | + print() | 
|  | 126 | + print("Serveur Wordpress installé avec succès !") | 
|  | 127 | + print() | 
|  | 128 | + print("Vous pouvez maintenant configurer votre Site Wordpress depuis votre navigateur Internet !") | 
|  | 129 | + print() | 
|  | 130 | +# Choice N°3 : Install Files Server (NFS - SFTP Protocols) : | 
| 146 | 131 | elif user_answer == "3": | 
| 147 | 132 |  print() | 
| 148 |  | - user_answer_files = input("Voulez-vous installer un Serveur de fichiers ? (1 = NFS / 2 = SFTP / 3 = Retour au menu) : ") | 
|  | 133 | + user_answer_files = input("Voulez-vous installer un Serveur de fichiers ? (1 = NFS / 2 = SFTP) : ") | 
| 149 | 134 |  if user_answer_files =="1": | 
| 150 | 135 |  print() | 
| 151 | 136 |  print("Installation d'un serveur de fichiers NFS en cours ... ") | 
|  | 
| 176 | 161 |  print() | 
| 177 | 162 |  print("Serveur de fichiers SFTP installé avec succès !") | 
| 178 | 163 |  print() | 
| 179 |  | - elif user_answer_files =="3": | 
| 180 |  | - print() | 
| 181 |  | - print("Annulation de l'installation du Serveur de fichiers. Retour au menu ... ") | 
| 182 |  | - print() | 
| 183 | 164 |  else: | 
| 184 | 165 |  print() | 
| 185 | 166 |  print("Choisissez une option d'installation valide . Fermeture du script ...") | 
| 186 | 167 |  print() | 
|  | 168 | +# Choice N°4 : Install "Router" Services (DHCP - DNS - NTP - Configuration of Network Cards) : | 
| 187 | 169 | elif user_answer == "4": | 
| 188 | 170 |  print() | 
| 189 |  | - user_answer_routeur = input("Voulez-vous installer un Pack Routeur ? (1 = Oui / 2 = Non) : ") | 
| 190 |  | - if user_answer_routeur =="1": | 
| 191 |  | - print() | 
| 192 |  | - print("Installation d'un pack Routeur en cours ... ") | 
| 193 |  | - print() | 
| 194 |  | - print("Mises à Jour en cours ... ") | 
| 195 |  | - print() | 
| 196 |  | - subprocess.call(["sudo", "apt-get", "update"]) | 
| 197 |  | - subprocess.call(["sudo", "apt-get", "upgrade", "-y"]) | 
| 198 |  | - subprocess.call(["sudo", "apt-get", "dist-upgrade", "-y"]) | 
| 199 |  | - subprocess.call(["sudo", "apt-get", "autoremove", "-y"]) | 
| 200 |  | - subprocess.call(["clear"]) | 
| 201 |  | - subprocess.call(["sudo", "apt-get", "install", "isc-dhcp-server", "-y"]) | 
| 202 |  | - print() | 
| 203 |  | - print("Serveur DHCP installé avec succès !") | 
| 204 |  | - print() | 
| 205 |  | - subprocess.call(["sudo", "apt-get", "install", "bind9", "-y"]) | 
| 206 |  | - subprocess.call(["clear"]) | 
| 207 |  | - print() | 
| 208 |  | - print("Serveur DNS installé avec succès !") | 
| 209 |  | - print() | 
| 210 |  | - subprocess.call(["sudo", "apt-get", "install", "chrony", "-y"]) | 
| 211 |  | - print() | 
| 212 |  | - print("Serveur NTP installé avec succès !") | 
| 213 |  | - print() | 
| 214 |  | - print("Affichage des différentes sources choisis par le Serveur NTP ...") | 
| 215 |  | - print() | 
| 216 |  | - subprocess.call(["sudo", "chronyc", "sources"]) | 
| 217 |  | - print() | 
| 218 |  | - print("Serveur Routeur installé avec succès ! ") | 
| 219 |  | - print() | 
| 220 |  | - elif user_answer_routeur =="2": | 
| 221 |  | - print() | 
| 222 |  | - print("Annulation de l'installation du Service Routeur. Retour au menu ... ") | 
| 223 |  | - print() | 
| 224 |  | - else: | 
| 225 |  | - print() | 
| 226 |  | - print("Choisissez une option d'installation valide . Fermeture du script ...") | 
| 227 |  | - print() | 
|  | 171 | + print("Installation d'un pack Routeur en cours ... ") | 
|  | 172 | + print() | 
|  | 173 | + print("Mises à Jour en cours ... ") | 
|  | 174 | + print() | 
|  | 175 | + subprocess.call(["sudo", "apt-get", "update"]) | 
|  | 176 | + subprocess.call(["sudo", "apt-get", "upgrade", "-y"]) | 
|  | 177 | + subprocess.call(["sudo", "apt-get", "dist-upgrade", "-y"]) | 
|  | 178 | + subprocess.call(["sudo", "apt-get", "autoremove", "-y"]) | 
|  | 179 | + subprocess.call(["clear"]) | 
|  | 180 | + subprocess.call(["sudo", "apt-get", "install", "isc-dhcp-server", "-y"]) | 
|  | 181 | + print() | 
|  | 182 | + print("Serveur DHCP installé avec succès !") | 
|  | 183 | + print() | 
|  | 184 | + subprocess.call(["sudo", "apt-get", "install", "bind9", "-y"]) | 
|  | 185 | + print() | 
|  | 186 | + print("Serveur DNS installé avec succès !") | 
|  | 187 | + subprocess.call(["sudo", "apt-get", "install", "chrony", "-y"]) | 
|  | 188 | + print() | 
|  | 189 | + subprocess.call(["clear"]) | 
|  | 190 | + print("Serveur NTP installé avec succès !") | 
|  | 191 | + print() | 
|  | 192 | + print("Affichage des différentes sources choisis par le Serveur NTP ...") | 
|  | 193 | + print() | 
|  | 194 | + subprocess.call(["sudo", "chronyc", "sources"]) | 
|  | 195 | + print() | 
|  | 196 | + print("Configuration du Serveur DHCP ...") | 
|  | 197 | + print() | 
|  | 198 | + subprocess.call(["sudo", "echo", "option domain-name ""home.lan"";", ">>", "/etc/dhcp/dhcpd.conf"]) | 
|  | 199 | + subprocess.call(["sudo", "echo", "option domain-name-servers 9.9.9.9, 1.1.1.1;", ">>", "/etc/dhcp/dhcpd.conf"]) | 
|  | 200 | + subprocess.call(["sudo", "echo", "authoritative;", ">>", "/etc/dhcp/dhcpd.conf"]) | 
|  | 201 | + subprocess.call(["sudo", "echo", "default-lease-time 3600e;", ">>", "/etc/dhcp/dhcpd.conf"]) | 
|  | 202 | + subprocess.call(["sudo", "echo", "max-lease-time 7200;", ">>", "/etc/dhcp/dhcpd.conf"]) | 
|  | 203 | + subprocess.call(["sudo", "echo", "subnet 192.168.37.0 netmask 255.255.255.0 {", ">>", "/etc/dhcp/dhcpd.conf"]) | 
|  | 204 | + subprocess.call(["sudo", "echo", " option routers 192.168.37.20;", ">>", "/etc/dhcp/dhcpd.conf"]) | 
|  | 205 | + subprocess.call(["sudo", "echo", " option subnet-mask 255.255.255.0;", ">>", "/etc/dhcp/dhcpd.conf"]) | 
|  | 206 | + subprocess.call(["sudo", "echo", " option domain-search ""home.lan"";", ">>", "/etc/dhcp/dhcpd.conf"]) | 
|  | 207 | + subprocess.call(["sudo", "echo", " option domain-name-servers 1.1.1.1;", ">>", "/etc/dhcp/dhcpd.conf"]) | 
|  | 208 | + subprocess.call(["sudo", "echo", " range 192.168.37.30 192.168.37.50;", ">>", "/etc/dhcp/dhcpd.conf"]) | 
|  | 209 | + subprocess.call(["sudo", "echo", "}", ">>", "/etc/dhcp/dhcpd.conf"]) | 
|  | 210 | + subprocess.call(["sudo", "sed", "-i", ""'s/INTERFACESv4=""/INTERFACESv4="ens37"/g'"", "/etc/default/isc-dhcp-server"]) | 
|  | 211 | + print() | 
|  | 212 | + print("Serveur Routeur installé avec succès ! ") | 
|  | 213 | + print() | 
|  | 214 | +# Choice N°5 : Install LDAP Server (OpenLDAP) : | 
| 228 | 215 | elif user_answer == "5": | 
| 229 | 216 |  print() | 
| 230 |  | - print("Installation du Service VPN") | 
|  | 217 | + print("Installation d'un Serveur LDAP en cours ...") | 
|  | 218 | + print() | 
|  | 219 | + subprocess.call(["sudo", "apt-get", "update"]) | 
|  | 220 | + subprocess.call(["sudo", "apt-get", "upgrade", "-y"]) | 
|  | 221 | + subprocess.call(["sudo", "apt-get", "dist-upgrade", "-y"]) | 
|  | 222 | + subprocess.call(["sudo", "apt-get", "autoremove", "-y"]) | 
|  | 223 | + subprocess.call(["sudo", "apt-get", "install", "slapd", "ldap-utils", "-y"]) | 
|  | 224 | + subprocess.call(["clear"]) | 
|  | 225 | + print() | 
|  | 226 | + print("Configuration de la base LDAP. Demande de mot de passe pour utilisateur Admin du Serveur LDAP") | 
| 231 | 227 |  print() | 
|  | 228 | + print("Affichage du DIT créer par LDAP") | 
|  | 229 | + print() | 
|  | 230 | + subprocess.call(["sudo", "ldapsearch", "-Q", "-L", "-Y", "EXTERNAL", "-H", "ldapi:///", "-b", "dc=entreprise,dc=com"]) | 
|  | 231 | + print() | 
|  | 232 | + print("Creation de 2 utilisateurs tests dans le DIT") | 
|  | 233 | + print() | 
|  | 234 | + subprocess.call(["sudo", "touch", "structure.ldif"]) | 
|  | 235 | + subprocess.call(["sudo", "echo", "dn: ou=Personnes,dc=entreprise,dc=com", ">>", "structure.ldif"]) | 
|  | 236 | + subprocess.call(["sudo", "echo", "objectclass: organizationalUnit", ">>", "structure.ldif"]) | 
|  | 237 | + subprocess.call(["sudo", "echo", "ou: Personnes", ">>", "structure.ldif"]) | 
|  | 238 | + subprocess.call(["sudo", "echo", "description: Employes de l entreprise", ">>", "structure.ldif"]) | 
|  | 239 | + subprocess.call(["sudo", "echo", "dn: ou=Machines,dc=entreprise,dc=com", ">>", "structure.ldif"]) | 
|  | 240 | + subprocess.call(["sudo", "echo", "objectclass: organizationalUnit", ">>", "structure.ldif"]) | 
|  | 241 | + subprocess.call(["sudo", "echo", "ou: Machines", ">>", "structure.ldif"]) | 
|  | 242 | + subprocess.call(["sudo", "echo", "description: Ordinateurs de l entreprise", ">>", "structure.ldif"]) | 
|  | 243 | + subprocess.call(["sudo", "echo", "dn: cn=Marie Dupond,ou=Personnes,dc=entreprise,dc=com", ">>", "structure.ldif"]) | 
|  | 244 | + subprocess.call(["sudo", "echo", "objectClass: inetOrgPerson", ">>", "structure.ldif"]) | 
|  | 245 | + subprocess.call(["sudo", "echo", "givenName: Marie", ">>", "structure.ldif"]) | 
|  | 246 | + subprocess.call(["sudo", "echo", "sn: Dupond", ">>", "structure.ldif"]) | 
|  | 247 | + subprocess.call(["sudo", "echo", "cn: Marie Dupond", ">>", "structure.ldif"]) | 
|  | 248 | + subprocess.call(["sudo", "echo", "uid: mariedupond", ">>", "structure.ldif"]) | 
|  | 249 | + subprocess.call(["sudo", "echo", "userPassword: mdupond", ">>", "structure.ldif"]) | 
|  | 250 | + subprocess.call(["sudo", "echo", "dn: cn=Marc Dupond,ou=Personnes,dc=entreprise,dc=com", ">>", "structure.ldif"]) | 
|  | 251 | + subprocess.call(["sudo", "echo", "objectClass: inetOrgPerson", ">>", "structure.ldif"]) | 
|  | 252 | + subprocess.call(["sudo", "echo", "givenName: Marc", ">>", "structure.ldif"]) | 
|  | 253 | + subprocess.call(["sudo", "echo", "sn: Dupond", ">>", "structure.ldif"]) | 
|  | 254 | + subprocess.call(["sudo", "echo", "cn: Marc Dupond", ">>", "structure.ldif"]) | 
|  | 255 | + subprocess.call(["sudo", "echo", "uid: marcdupond", ">>", "structure.ldif"]) | 
|  | 256 | + subprocess.call(["sudo", "echo", "userPassword: mdupond2", ">>", "structure.ldif"]) | 
|  | 257 | + print() | 
|  | 258 | + print("Mot de Passe utilisateur LDAP ?") | 
|  | 259 | + print() | 
|  | 260 | + subprocess.call(["sudo", "ldapadd", "-x", "-W", "-D", "“cn=admin,dc=entreprise,dc=com”", "-H", "ldapi://localhost", "-f", "structure.ldif"]) | 
|  | 261 | + print() | 
|  | 262 | + print("Affichage du DIT avec les Nouveaux Utilisateurs") | 
|  | 263 | + print() | 
|  | 264 | + subprocess.call(["sudo", "ldapsearch", "-Q", "-L", "-Y", "EXTERNAL", "-H", "ldapi:///", "-b", "dc=entreprise,dc=com"]) | 
|  | 265 | + print() | 
|  | 266 | + print("Serveur LDAP installé avec Succès !") | 
|  | 267 | + print() | 
|  | 268 | +# Choice N°6 : Closing Script : | 
| 232 | 269 | elif user_answer == "6": | 
| 233 | 270 |  print() | 
| 234 | 271 |  print("Fermeture du script ...") | 
| 235 | 272 |  print() | 
| 236 | 273 | else: | 
| 237 |  | - print() | 
| 238 |  | - print("Choisissez une option valide. Fermeture du script ...") | 
| 239 |  | - print() | 
| 240 |  | - | 
| 241 |  | - | 
|  | 274 | + pass | 
| 242 | 275 | # END | 
| 243 |  | -# | 
|  | 
0 commit comments