root 8ba5d192d8 modifié : sio2/sisr/20-python/comptes.txt
nouveau fichier : sio2/sisr/20-python/exo4-1.py
	nouveau fichier : sio2/sisr/20-python/script1.sh
	nouveau fichier : sio2/sisr/20-python/users.txt.pw
2024-10-04 09:32:43 +02:00

35 lines
1.2 KiB
Python

#!/usr/bin/python3
# tips lancement : sudo python exo4-1.py comptes.txt
import os
import sys
import subprocess
# Fonction pour créer un utilisateur avec le login et le nom complet
def create_user(login, full_name):
os.system(f'sudo useradd -m -c "{full_name}" -s /bin/bash {login}')
print(f"Utilisateur {login} créé avec succès.")
res=subprocess.run(["pwgen", "7", "1"],stdout=subprocess.PIPE)
pw = res.stdout.decode('utf8').rstrip()
os.system(f"echo {login}:{pw}|chpasswd")
os.system(f"echo {login}:{pw} >> users.txt.pw")
print (pw)
# Fonction principale pour lire le fichier et créer les utilisateurs
def main(filename):
try:
with open(filename, 'r') as file:
for line in file:
if line.strip():
login, full_name = map(str.strip, line.split(':'))
create_user(login, full_name)
except FileNotFoundError:
print(f"Le fichier {filename} n'a pas été trouvé.")
except Exception as e:
print(f"Erreur lors de la lecture du fichier {filename}: {e}")
# Point d'entrée du script
if __name__ == "__main__":
if len(sys.argv) != 2:
print("Usage: python exo4-1.py <nom_du_fichier>")
else:
main(sys.argv[1])