hello :D, je vous presente mon script de gestionnaire de tache dite moi ce que vous en penssez soyez indulgent je debute
#!/bin/bash
###############################################################################################################fonctions########################################
function menu_principale
{
clear
echo -e "\033[1;31m Bienvenue dans le gestionnaire pc \033[0m \n\n\n"
echo -e "Que faire ?:\n\n"
echo -e "1.Gestion des utilisateurs\n"
echo -e "2.Gestion des groupes\n"
echo -e "3.Gestion des proprietaire d un fichier\n"
echo -e "4.Gestion des droits d acces a un fichier\n"
echo -e "5.Surveillance de l activite systeme\n"
echo -e "6.Arret/Redemarrage du pc\n"
echo -e "7.Gestion de la date et de l heure du systeme\n"
echo -e "8.Gestion du clavier\n"
echo -e "q.Quitter\n"
read choixMenu
clear
}
function menu_gestion_utilisateur
{
echo -e "\033[1;31m Bienvenue dans la gestion d'utilisateur \033[0m \n\n\n"
echo -e "Que faire ?:\n\n"
echo -e "1.Ajouter un utilisateur\n"
echo -e "2.Changer un mot de passe\n"
echo -e "3.Supprimer un utilisateur\n"
echo -e "4.Menu precedent\n"
read choixMenuGestionUtilisateur
clear
}
function menu_gestion_groupe
{
echo -e "\033[1;31m Bienvenue dans le gestionnaire de groupe \033[0m \n\n\n"
echo -e "Que faire ?:\n\n"
echo -e "1.Creer un groupe\n"
echo -e "2.Changer un utilisateur de groupe\n"
echo -e "3.Supprimer un groupe\n"
echo -e "4.menu precedent\n"
read choixMenuGestionGroupe
clear
}
function menu_gestion_proprietaire_fichier
{
echo -e "\033[1;31m Bienvenue dans le gestionnaire de propriete d un fichier \033[0m \n\n\n"
echo -e "Que faire ?:\n\n"
echo -e "1.changer le proprietaire d un fichier\n"
echo -e "2.changer le groupe proprietaire d un fichier\n"
echo -e "3.Menu precedent\n"
read choixMenuGestionProprietaireFichier
clear
}
function menu_gestion_droits_fichier
{
echo -e "\033[1;31m Bienvenue dans le gestionnaire de droits d acces a un fichier \033[0m \n\n\n"
echo -e "Que faire ?:\n\n"
echo -e "1.Donner touts les droits a tout le monde\n"
echo -e "2.Etre le seul a avoir tout les droits sur le fichier\n"
echo -e "3.Donner touts les droits au groupe\n"
echo -e "4.Donner seulement le droit de lecture au groupe\n"
echo -e "5.Donner seulement le droit de lecture a tout le monde\n"
echo -e "6.Menu Precedent\n"
read choixMenuGestionDroitsFichier
clear
}
function menu_outils_de_surveillance_systeme
{
echo -e "\033[1;31m Bienvenue dans l'outil de surveillance systeme \033[0m \n\n\n"
echo -e "Que faire ?:\n\n"
echo -e "1.Liste des utilisateur connecter a la machine\n"
echo -e "2.Lister les processus\n"
echo -e "3.Arreter un processus\n"
echo -e "4.Menu precedent\n"
read choixMenuOutilsSurveillanceSysteme
clear
}
function menu_listage_processus
{
echo -e "\033[1;31m Listage des processus \033[0m \n\n\n"
echo -e "Que faire ?:\n\n"
echo -e "1.Liste basique des processus\n"
echo -e "2.Liste avancer des processus\n"
echo -e "3.Liste des processus d un utilisateur precis\n"
echo -e "4.Menu precedent\n"
read choixMenuListageProcessus
clear
}
function menu_arret_redemarrage
{
echo -e "\033[1;31m Arret/Redemarrage \033[0m \n\n\n"
echo -e "Que faire ?:\n\n"
echo -e "1.Arreter l ordinateur\n"
echo -e "2.Redemarrer l ordinateur\n"
echo -e "3.Menu precedent\n"
read choixMenuArretRedemarrage
clear
}
function changement_date
{
echo -e "\033[1;31m Bienvenue dans le gestionnaire de date/heure \033[0m \n\n\n"
echo -e "entrer l'année(ex:2017)\n"
read annee
echo -e "\nentrer le mois(ex:04)\n"
read mois
echo -e "\nentrer le jour(ex:05)\n"
read jour
echo -e "\nentrer l'heure (ex: 19:17:00)\n"
read heure
sudo date -s "$annee$mois$jour $heure"
pause
}
function menu_gestion_clavier
{
echo -e "\033[1;31m Bienvenue dans le gestionnaire du clavier \033[0m \n\n\n"
echo -e "Que faire ?:\n\n"
echo -e "1.passer en clavier azerty\n"
echo -e "2.passer en clavier qwerty\n"
echo -e "3.Menu precedent\n"
read choixMenuGestionClavier
}
function pause
{
echo -e "\n\nappuyez sur entrer pour continuer\n\n"
read
clear
}
################################################################################
################################################################################
#################################script#########################################
choixMenu=0
while [ $choixMenu != 'q' ]
do
recommencer=1
menu_principale
#############################################################################################################quitter############################################
if [ $choixMenu = 'q' ]
then
exit
fi
################################################################################
until [ $recommencer != 1 ]
do
###############################################################################
###########################gestion utilisateur##################################
if [ $choixMenu -eq 1 ]
then
menu_gestion_utilisateur
if [ $choixMenuGestionUtilisateur -eq 4 ]
then
recommencer=2
fi
if [ $choixMenuGestionUtilisateur -eq 1 ]
then
echo -e "Entrer le nom du nouvel utilisateur\n"
read utilisateur
echo -e "Entrer le mot de passe du nouvel utilisateur\n"
read -s motDePasse
sudo useradd -m $utilisateur -p $motDePasse 2> /dev/null
if [ ! -e /home/$utilisateur ]
then
echo -e "\n\nL utilisateur n a pas pu etre creer\n\n"
else
echo -e "\n\nl utilisateur a pu etre creer\n\n"
fi
pause
elif [ $choixMenuGestionUtilisateur -eq 2 ]
then
echo -e "Entrer le nom de l'utilisateur dont le mot de passe doit etre changer :\n"
read utilisateur
sudo passwd $utilisateur
echo -e "\n\nle mot de passe de $utilisateur a ete changer avec succes\n\n"
pause
elif [ $choixMenuGestionUtilisateur -eq 3 ]
then
echo -e "Entrer le nom de l utilisateur a supprimer\n"
read utilisateur
sudo deluser --remove-home $utilisateur
if [ ! -e /home/$utilisateur ]
then
echo -e "\n\nL utilisateur a bien ete supprimer\n\n"
else
echo -e "\n\nL utilisateur n a pas pu etre supprimer\n\n"
pause
fi
fi
################################################################################
################################################################################
############################gestion de groupe###################################
elif [ $choixMenu -eq 2 ]
then
menu_gestion_groupe
if [ $choixMenuGestionGroupe -eq 4 ]
then
recommencer=2
elif [ $choixMenuGestionGroupe -eq 1 ]
then
echo -e "Entrer le nom du groupe a creer\n"
read groupe
sudo addgroup $groupe
echo -e "\n\nLe groupe $groupe a ete creer avec succes\n\n"
pause
elif [ $choixMenuGestionGroupe -eq 2 ]
then
echo -e "Entrer le nom de l'utilisateur a changer de groupe\n"
read utilisateur
echo -e "\nEntrer le nom du nouveau groupe\n"
read groupe
sudo usermod -g $groupe $utilisateur
echo -e "\n\nL utilisateur $utilisateur fait maintenant partie du groupe $groupe\n\n"
pause
elif [ $choixMenuGestionGroupe -eq 3 ]
then
echo -e "Entrer le nom du groupe a supprimer\n"
read groupe
delgroup $groupe
echo -e "\n\nLe groupe $groupe a ete supprimer avec succes\n\n"
pause
fi
################################################################################
###################################################################################################Gestion de proprieter d un fichier###########################
elif [ $choixMenu -eq 3 ]
then
menu_gestion_proprietaire_fichier
if [ $choixMenuGestionProprietaireFichier -eq 3 ]
then
recommencer=2
elif [ $choixMenuGestionProprietaireFichier -eq 1 ]
then
echo -e "Entrer le nom du futur proprietaire du fichier\n"
read utilisateur
echo -e "\nentrer le nom du fichier\n"
read fichier
sudo chown $utilisateur $fichier
pause
elif [ $choixMenuGestionProprietaireFichier -eq 2 ]
then
echo -e "Entrer le nom du nouveau groupe proprietaire du fichier\n"
read groupe
echo -e "\nentrer le nom du fichier\n"
read fichier
chgrp $groupe $fichier
pause
fi
################################################################################
################################################################################
#####################gestion des droits d acces a un fichier####################
elif [ $choixMenu -eq 4 ]
then
menu_gestion_droits_fichier
if [ $choixMenuGestionDroitsFichier -eq 6 ]
then
recommencer=2
elif [ $choixMenuGestionDroitsFichier -eq 1 ]
then
echo -e "Entrer le nom du fichier\n"
read fichier
chmod 777 $fichier
pause
elif [ $choixMenuGestionDroitsFichier -eq 2 ]
then
echo -e "Entrer le nom du fichier\n"
read fichier
chmod 600 $fichier
pause
elif [ $choixMenuGestionDroitsFichier -eq 3 ]
then
echo -e "Entrer le nom du fichier\n"
read fichier
chmod 770 $fichier
pause
elif [ $choixMenuGestionDroitsFichier -eq 4 ]
then
echo -e "Entrer le nom du fichier\n"
read fichier
chmod 740 $fichier
pause
elif [ $choixMenuGestionDroitsFichier -eq 5 ]
then
echo -e "Entrer le nom du fichier\n"
read fichier
chmod 744 $fichier
pause
fi
################################################################################
################################################################################
###########################surveillance systeme#################################
elif [ $choixMenu -eq 5 ]
then
retour=1
menu_outils_de_surveillance_systeme
if [ $choixMenuOutilsSurveillanceSysteme -eq 4 ]
then
recommencer=2
retour=2
elif [ $choixMenuOutilsSurveillanceSysteme -eq 1 ]
then
w
pause
fi
if [ $choixMenuOutilsSurveillanceSysteme -eq 2 ]
then
until [ $retour != 1 ]
do
menu_listage_processus
if [ $choixMenuListageProcessus -eq 4 ]
then
retour=2
elif [ $choixMenuListageProcessus -eq 1 ]
then
ps
pause
elif [ $choixMenuListageProcessus -eq 2 ]
then
ps -ef
pause
elif [ $choixMenuListageProcessus -eq 3 ]
then
echo -e "Entrer le nom de l utilisateur\n"
read utilisateur
ps -u $utilisateur
pause
fi
done
fi
if [ $choixMenuOutilsSurveillanceSysteme -eq 3 ]
then
echo -e "Entrer le nom de l'utilisateur dont vient le processus a tuer\n"
read utilisateur
echo -e "\nEntrer le nom du processus\n"
read processus
ps -u $utilisateur | grep $processus
echo -e "\n\nEntrer le PID du processus(ex:32678):\n"
read PIDprocessus
kill $PIDprocessus
pause
fi
################################################################################
################################################################################
##############################Arret/demarrage###################################
elif [ $choixMenu -eq 6 ]
then
menu_arret_redemarrage
if [ $choixMenuArretRedemarrage -eq 3 ]
then
recommencer=2
elif [ $choixMenuArretRedemarrage -eq 1 ]
then
sudo halt
elif [ $choixMenuArretRedemarrage -eq 2 ]
then
sudo reboot
fi
################################################################################
##########################################################################################################changement date/heure#################################
elif [ $choixMenu -eq 7 ]
then
changement_date
recommencer=2
################################################################################
##############################################################################################################gestion clavier###################################
elif [ $choixMenu -eq 8 ]
then
menu_gestion_clavier
if [ $choixMenuGestionClavier -eq 3 ]
then
recommencer=0
elif [ $choixMenuGestionClavier -eq 1 ]
then
setxkbmap fr
elif [ $choixMenuGestionClavier -eq 2 ]
then
setxkbmap us
fi
clear
################################################################################
fi
done
done
clear
################################################################################
J'ai pensé la même chose que Elried ! Honnêtement le problème c'est que je pense pas que les personnes auront autant de courage que toi et vont lire tout ton script
J'ai regardé quand même mais je ne l'ai pas testé. Cependant, si tout ce que tu as mis fonctionne félicitations ! Honnêtement je suis pas assez bon pour te conseiller des choses à modifier ou simplifier d'un simple coup d’œil comme ça mais ça peut m(intéresser d'avoir le retour d'autres personnes également concernant ton script
"J'aimerai faire un jeu, mais pas un gros jeu hein. Un petit truc simple du style MMO." Dixit un utilisateur d'OC !
En lisant rapidement le bestiau, je te propose une amélioration rigolote a effectuer. Pour le moment ton script réalise certaines opérations avec sudo. pourquoi ne pas procéder ainsi :
N7affiche les options concernées (comme le changement de date) que si le script est lance avec les privilèges admin
si ton script est lance sans privilèges , alors affiche une option pour passer en mode super user.
dantonq a écrit:
> selon moi-même un script d'administration devrait appartenir à root, et n'être exécutable qu'en tant que tel, ou avec sudo.
Pour un truc en production, c'est effectivement une approche qui se tient. Dans le cas de quelqu'un qui apprends et viens de finir le cour sur Linux, je pense qu'une approche moins pense "admin système" mais plus axee "pratique du bash" est preferable
Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique
script gestionnaire de tache
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique
Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique
Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique