script tp04
This commit is contained in:
		@@ -1,13 +1,31 @@
 | 
				
			|||||||
#!/bin/bash
 | 
					#!/bin/bash
 | 
				
			||||||
fichier=Users.csv
 | 
					 | 
				
			||||||
while read ligne    #définit la variable "ligne" comme le contenu de la ligne du fichier en cours de lecture
 | 
					 | 
				
			||||||
do
 | 
					 | 
				
			||||||
  # A chaque itération on stcok le métier dans la variable $métier
 | 
					 | 
				
			||||||
  metier=$(echo $ligne | cut -d "," -f5)
 | 
					 | 
				
			||||||
  if [[ $(grep $metier /etc/group) == "" ]] ; then 
 | 
					 | 
				
			||||||
    groupadd $metier
 | 
					 | 
				
			||||||
    echo "Creasion du groupe $metier"
 | 
					 | 
				
			||||||
  else 
 | 
					 | 
				
			||||||
    echo "le Groupe $métier existe déjà"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
done < $fichier
 | 
					file='./Users.csv'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					while read ligne
 | 
				
			||||||
 | 
					do
 | 
				
			||||||
 | 
					    # A chaque itération, stocker le métier dans $metier
 | 
				
			||||||
 | 
					    metier=$(echo $ligne | cut -d "," -f5)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # On regarde si les group existe
 | 
				
			||||||
 | 
					    # tail /etc/group
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Vérification de la présence du groupe Accountant -> ajout de la fonction "Accountant" à $groups
 | 
				
			||||||
 | 
					    if [[ $(echo $ligne | grep "Accountant") == "" ]] ; then
 | 
				
			||||||
 | 
					        groupadd accountant
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Vérification de la présence du groupe Management -> ajout de la fonction "Management" à $groups
 | 
				
			||||||
 | 
					    if [[ $(echo $ligne | grep "Management") == "" ]] ; then
 | 
				
			||||||
 | 
					        groupadd management
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Vérification de la présence du groupe Production -> ajout de la fonction "Production" à $groups
 | 
				
			||||||
 | 
					    if [[ $(echo $ligne | grep "Production") == "" ]] ; then
 | 
				
			||||||
 | 
					        groupadd production
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # On regarde si les groups ont été créé
 | 
				
			||||||
 | 
					    # tail /etc/group
 | 
				
			||||||
 | 
					    # echo $metier
 | 
				
			||||||
 | 
					done < $file
 | 
				
			||||||
							
								
								
									
										30
									
								
								sisr1/TP04-Bases-d'administration/createLogins.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								sisr1/TP04-Bases-d'administration/createLogins.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Fichier d'entrée contenant les informations des utilisateurs
 | 
				
			||||||
 | 
					input_file="users.csv"
 | 
				
			||||||
 | 
					# Fichier de sortie contenant les logins générés
 | 
				
			||||||
 | 
					output_file="logins.csv"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Fonction pour générer un mot de passe aléatoire
 | 
				
			||||||
 | 
					generate_password() {
 | 
				
			||||||
 | 
					  # Générer un mot de passe aléatoire de 8 caractères alphanumériques
 | 
				
			||||||
 | 
					  # Utilise /dev/urandom et tr pour choisir uniquement des caractères alphanumériques
 | 
				
			||||||
 | 
					  < /dev/urandom tr -dc 'A-Za-z0-9' | head -c 8
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Créer un fichier de sortie et ajouter l'en-tête
 | 
				
			||||||
 | 
					echo "Nom d'utilisateur,Prénom,Nom,Mot de passe,Groupe" > "$output_file"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Lire le fichier d'entrée ligne par ligne
 | 
				
			||||||
 | 
					while IFS=' ' read -r firstname lastname group; do
 | 
				
			||||||
 | 
					  # Générer le nom d'utilisateur en prenant l'initiale du prénom et le nom, tout en minuscules
 | 
				
			||||||
 | 
					  username="${firstname:0:1}${lastname}"
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  # Générer un mot de passe aléatoire
 | 
				
			||||||
 | 
					  password=$(generate_password)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Ajouter la ligne au fichier de sortie
 | 
				
			||||||
 | 
					  echo "$username,$firstname,$lastname,$password,$group" >> "$output_file"
 | 
				
			||||||
 | 
					done < "$input_file"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					echo "Fichier logins.csv généré avec succès."
 | 
				
			||||||
							
								
								
									
										16
									
								
								sisr1/TP04-Bases-d'administration/gitpush.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								sisr1/TP04-Bases-d'administration/gitpush.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,16 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [ -z "$1" ] ; then
 | 
				
			||||||
 | 
					    read -p "Erreur: Ecrivez un message " $message
 | 
				
			||||||
 | 
					else 
 | 
				
			||||||
 | 
					    message=$1
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Ajout des fichiers modifiers
 | 
				
			||||||
 | 
					git add .
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Commit avec le message
 | 
				
			||||||
 | 
					git commit -m "$message"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Push  vers le dépot
 | 
				
			||||||
 | 
					git push -u https://jeremy.thomas@gitea.lyc-lecastel.fr/redouane.assani/siotp.git
 | 
				
			||||||
		Reference in New Issue
	
	Block a user