def afficher_menu():
print("Menu :")
print("a. Ajout d'utilisateur")
print("b. Suppression d'utilisateur")
print("c. Modification du dossier de travail d'un utilisateur")
print("d. Modification du shell de l'utilisateur")
print("e. Quitter")
def ajouter_utilisateur():
nom = input("Entrez votre nom : ")
prenom = input("Entrez votre prénom : ")
nom_utilisateur = nom + prenom[:2]
# Vérifie si l'utilisateur existe déjà
with open("passwd.txt", "r") as f:
for ligne in f:
if nom_utilisateur in ligne:
print("Cet utilisateur existe déjà.")
return
# Ajoute l'utilisateur au fichier passwd.txt
nouvelle_ligne = f"{nom_utilisateur}:1000:1000:,,,:/home/{nom_utilisateur}:/bin/bash\n"
with open("passwd.txt", "a") as f:
f.write(nouvelle_ligne)
print(f"Utilisateur {nom_utilisateur} ajouté avec succès.")
def supprimer_utilisateur():
nom = input("Entrez le nom de l'utilisateur à supprimer : ")
# Supprime l'utilisateur du fichier passwd.txt
lignes = []
with open("passwd.txt", "r") as f:
lignes = f.readlines()
utilisateur_supprime = False
with open("passwd.txt", "w") as f:
for ligne in lignes:
if nom not in ligne:
f.write(ligne)
else:
utilisateur_supprime = True
if utilisateur_supprime:
print(f"Utilisateur {nom} supprimé avec succès.")
else:
print(f"Utilisateur {nom} n'existe pas.")
def modifier_dossier_travail():
nom_utilisateur = input("Entrez le nom de l'utilisateur : ")
# Modifie le dossier de travail de l'utilisateur
with open("passwd.txt", "r") as f:
lignes = f.readlines()
utilisateur_trouve = False
for i in range(len(lignes)):
if nom_utilisateur in lignes[i]:
utilisateur_trouve = True
elements = lignes[i].split(":")
elements[6] = "/home/" + nom_utilisateur + "/tmp"
lignes[i] = ":".join(elements) + "\n"
break
if utilisateur_trouve:
with open("passwd.txt", "w") as f:
f.writelines(lignes)
print(f"Dossier de travail de {nom_utilisateur} modifié avec succès.")
else:
print(f"Utilisateur {nom_utilisateur} n'existe pas.")
def modifier_shell():
nom_utilisateur = input("Entrez le nom de l'utilisateur : ")
nouveau_shell = input("Choisissez le nouveau shell (sh, ksh, csh, tcsh, zsh, bash) : ")
shells_valides = ["sh", "ksh", "csh", "tcsh", "zsh", "bash"]
if nouveau_shell not in shells_valides:
print("Shell invalide. Choisissez parmi : sh, ksh, csh, tcsh, zsh, bash.")
return
# Modifie le shell de l'utilisateur
with open("passwd.txt", "r") as f:
lignes = f.readlines()
utilisateur_trouve = False
for i in range(len(lignes)):
if nom_utilisateur in lignes[i]:
utilisateur_trouve = True
elements = lignes[i].split(":")
elements[-1] = f"/bin/{nouveau_shell}\n"
lignes[i] = ":".join(elements)
break
if utilisateur_trouve:
with open("passwd.txt", "w") as f:
f.writelines(lignes)
print(f"Shell de {nom_utilisateur} modifié avec succès.")
else:
print(f"Utilisateur {nom_utilisateur} n'existe pas.")
# Programme principal
while True:
afficher_menu()
choix = input("Choisissez une option (a/b/c/d/e) : ").lower()
if choix == 'a':
ajouter_utilisateur()
elif choix == 'b':
supprimer_utilisateur()
elif choix == 'c':
modifier_dossier_travail()
elif choix == 'd':
modifier_shell()
elif choix == 'e':
break
else:
print("Option invalide. Veuillez choisir à nouveau.")
print("Programme terminé.")
passwd.txt
Partager