Bonjour king_neon2001,
J'ai réalisé un script d'administration (qui doit encore être optimisé) peut être t'aidera t'il !
code :
#!/bin/bash
# *********************************************************************************Fonction Création utilisateur
function gestion_utilisateur () {
function creation_supp_utilisateur () {
echo -e " \033[31m Supprimer ou créer un utilisateur ? \033[00m"
echo " Taper x pour supprimer / Taper c pour créer :"
read choix
if [ $choix = "c" ] ;
then
echo "Entrer le login de l'utilisateur souhaité :"
read user
adduser -a $user
echo -e "\033[31m L'utilisateur $user à bien été crée ! \033[00m"
echo "Appuyer sur la touche <Entrée> pour revenir au menu..."
read touche
case $touche in
*)echo -e "\033[37m**** Reprise du script... ****\033[00m";;
esac
else
if [ $choix = "x" ];
then
echo "Donner le nom de l'utilisateur à supprimer :"
read utildel
userdel -r $utildel
echo -e "\033[31m La suppression de l'utilisateur $utildel est confirmée \033[00m"
echo "Appuyer sur la touche <Entrée> pour revenir au menu..."
read touche
case $touche in
*)echo -e "\033[37m**** Reprise du script... ****\033[00m";;
esac
else
exit 0
fi
fi
menu_utilisateur
}
function creation_supp_group () {
echo -e " \033[31m Supprimer ou créer un groupe ? \033[00m"
echo " Taper x pour supprimer / Taper c pour créer :"
read choix
if [ $choix = "c" ] ;
then
echo "Entrer le nom du groupe souhaité :"
read group
groupadd $group
echo -e "\033[31m Le group $group à bien été crée ! \033[00m"
echo "Voulez-vous vérifier en regardant le fichier /etc/group ? (y/n)"
read rep
if [ $rep = "y" ] ;
then
vi /etc/group
else
echo "Appuyer sur la touche <Entrée> pour revenir au menu..."
read touche
case $touche in
*)echo -e "\033[37m**** Reprise du script... ****\033[00m";;
esac
menu_utilisateur
fi
else
if [ $choix = "x" ];
then
echo "Donner le nom du groupe à supprimer :"
read group
groupdel $group
echo -e "\033[31m La suppression du group $group est confirmée \033[00m"
echo "Voulez-vous vérifier en regardant le fichier /etc/group ? (y/n)"
read rep
if [ $rep = "y" ] ;
then
vi /etc/group
else
echo "Appuyer sur la touche <Entrée> pour revenir au menu..."
read touche
case $touche in
*)echo -e "\033[37m**** Reprise du script... ****\033[00m";;
esac
menu_utilisateur
fi
else
exit 0
fi
fi
menu_utilisateur
}
function voir_utilisateur () {
who -q
echo "Appuyer sur la touche <Entrée> pour continuer..."
read touche
case $touche in
*)echo -e "\033[37m**** Reprise du script... ****\033[00m";;
esac
menu_utilisateur
}
function Menu_principal () {
Menu
}
function menu_utilisateur () {
clear
echo ""
echo -e "\033[36mProjet Linux eXia 2008 \033[00m"
echo -e " \033[36m3ème année RIR \033[00m "
echo -e " \033[37m________________________________\033[00m "
echo -e " \033[37m| Gestion des utilisateurs |\033[00m "
echo""
echo -e "\033[33m*** MENU *** :\033[00m"
echo""
echo "1 - Créer / Supprimer un utilisateur"
echo "2 - Créer / Supprimer un groupe"
echo "3 - Voir les utilisateurs connectés"
echo "4 - Revenir au menu Principal"
echo ""
echo "Entrez votre choix :"
read CHOIX
case $CHOIX in
1)creation_supp_utilisateur;;
2)creation_supp_group;;
3)voir_utilisateur;;
4)Menu_principal;;
*)exit 0;;
esac
}
menu_utilisateur
}
# *********************************************************************************Fonction tuer un processus
function tuer_proc () {
ps ax --sort=tty,pid | more
echo " VEUILLEZ TAPER LE(S) "PID" DU(DES) PROCESS A TUER: "
read PROCESS
for TRUC in $PROCESS; do
kill -9 $TRUC
echo -e "\033[31m Le(s) processus $PROCESS on été arrétés \033[00m"
done
echo "Appuyer sur la touche <Entrée> pour continuer..."
read touche
case $touche in
*)echo -e "\033[37m**** Reprise du script... ****\033[00m";;
esac
Menu
}
# *********************************************************************************Fonction Création de répertoire
function creer_rep () {
echo "Quel est le nom du répertoire ? (tapez le nom) :"
read nom
mkdir "$nom"
chmod 0733 $nom
echo -e "\033[31m Le dossier $nom à été créé avec les droits sur le bureau \033[00m"
echo "Appuyer sur la touche <Entrée> pour continuer..."
read touche
case $touche in
*)echo -e "\033[37m**** Reprise du script... ****\033[00m";;
esac
Menu
}
# *********************************************************************************Fonction sauvegarder fichier
function sauv_fichier () {
function sauv_resol_conf () {
rsync -a /etc/resolv.conf /home/dyllan/Bureau/sauv_du_$(date +%d_%m_%y).log
echo -e "\033[31m Le fichier resolv.conf du $(date +%d_%m_%y) est bien sauvegardé sur le bureau \033[00m"
echo "Appuyer sur la touche <Entrée> pour continuer..."
read touche
case $touche in
*)echo -e "\033[37m**** Reprise du script... ****\033[00m";;
esac
menu_sauv
}
function sauv_suppr_autre() {
echo -e " \033[31m Supprimer ou Sauvegarder ? \033[00m"
echo " Taper x pour supprimer / Taper s pour sauvegarder :"
read choix
if [ $choix = "s" ] ;
then
echo "Entrez le chemin du repertoire à sauvegarder"
read chemin
echo "Entrez le chemin de l'endroit où vous voulez le sauvegarder"
read dest
cp -r $chemin $dest
echo "La sauvegarde a été réalisé"
echo "Appuyer sur la touche <Entrée> pour continuer..."
read touche
case $touche in
*)echo -e "\033[37m**** Reprise du script... ****\033[00m";;
esac
else
if [ $choix = "x" ];
then
echo "Entrez le chemin du repertoire à supprimer"
read chem
rm -r $chem
echo "La suppression de $chem est confirmée"
echo "Appuyer sur la touche <Entrée> pour continuer..."
read touche
case $touche in
*)echo -e "\033[37m**** Reprise du script... ****\033[00m";;
esac
else
exit 0
fi
fi
menu_sauv
}
function Menu_principal () {
Menu
}
function menu_sauv () {
clear
echo ""
echo -e "\033[36mProjet Linux eXia 2008 \033[00m"
echo -e " \033[36m3ème année RIR \033[00m "
echo -e " \033[37m__________________________\033[00m "
echo -e " \033[37m| Menu de Sauvegarde |\033[00m "
echo""
echo -e "\033[33m*** MENU *** :\033[00m"
echo""
echo "1 - Sauvegarder le fichier resolv.conf"
echo "2 - Sauvegarder / Supprimer un fichier ou répertoire"
echo "3 - Revenir au menu Principal"
echo ""
echo "Entrez votre choix :"
read CHOIX
case $CHOIX in
1)sauv_resol_conf;;
2)sauv_suppr_autre;;
3)Menu_principal;;
*)exit 0;;
esac
}
menu_sauv
}
# *********************************************************************************Fonction Récupérer les processus
function recuperer_processus () {
ps -aux >> proccessus_du_$(date +%d_%m_%y).log
echo -e "\033[31m Le fichier Log de récupération des processus à été créé sur le bureau \033[00m"
echo "Appuyer sur la touche <Entrée> pour continuer..."
read touche
case $touche in
*)echo -e "\033[37m**** Reprise du script... ****\033[00m";;
esac
Menu
}
# *********************************************************************************Fonction Service Networking
function networking () {
function restart () {
/etc/init.d/networking restart
echo "revenir au menu ? [y/n]"
read reponse
if [ $reponse = "y" ] ; then
menu
else
echo "Appuyer sur la touche <Entrée> pour continuer..."
read touche
case $touche in
*)echo -e "\033[37m**** Reprise du script... ****\033[00m";;
esac
Menu
fi
}
function stop () {
/etc/init.d/networking stop
echo "revenir au menu ? [y/n]"
read reponse
if [ $reponse = "y" ] ; then
menu
else
echo "Appuyer sur la touche <Entrée> pour continuer..."
read touche
case $touche in
*)echo -e "\033[37m**** Reprise du script... ****\033[00m";;
esac
Menu
fi
}
function start () {
/etc/init.d/networking start
echo "revenir au menu ? [y/n]"
read reponse
if [ $reponse = "y" ] ; then
menu
else
echo "Appuyer sur la touche <Entrée> pour continuer..."
read touche
case $touche in
*)echo -e "\033[37m**** Reprise du script... ****\033[00m";;
esac
Menu
fi
}
function edit () {
vi /etc/resolv.conf
clear
echo""
echo "Revenir au menu Administration du service Networking ? [y/n]"
read reponse
if [ $reponse = "y" ] ; then
menu
else
echo "Appuyer sur la touche <Entrée> pour continuer..."
read touche
case $touche in
*)echo -e "\033[37m**** Reprise du script... ****\033[00m";;
esac
Menu
fi
}
function Menu_principal () {
Menu
}
function menu () {
clear
echo ""
echo -e "\033[36mProjet Linux eXia 2008 \033[00m"
echo -e " \033[36m3ème année RIR \033[00m "
echo -e " \033[37m____________________________________________\033[00m "
echo -e " \033[37m| Administration du service Networking |\033[00m "
echo""
echo -e "\033[33m*** MENU *** :\033[00m"
echo""
echo "1 - Restart"
echo "2 - Stop"
echo "3 - Start"
echo "4 - Editer le fichier resolv.conf"
echo "5 - Revenir au menu Principal"
echo ""
echo "Entrez votre choix :"
read CHOIX
case $CHOIX in
1)restart;;
2)stop;;
3)start;;
4)edit;;
5)Menu_principal;;
*)exit 0;;
esac
}
menu
}
# *********************************************************************************Fonction Quitter
function quitter () {
exit
}
# *********************************************************************************Fonction MENU
function Menu () {
echo ""
echo -e "\033[36mProjet Linux eXia 2008 \033[00m"
echo -e " \033[36m3ème année RIR \033[00m "
echo -e " \033[37m _______________________________ \033[00m "
echo -e " \033[37m| Script d'administration |\033[00m "
echo""
echo -e "\033[33m*** Menu Principal *** :\033[00m"
echo""
echo "1 - Gestion des utilisateurs"
echo "2 - Gérer les processus"
echo "3 - Créer un répertoire"
echo "4 - Sauvegarde"
echo "5 - Récupérer les processus"
echo "6 - Administration du service Networking"
echo "7 - Quitter"
echo ""
echo "Entrez votre choix :"
read CHOIX
case $CHOIX in
1)gestion_utilisateur;;
2)tuer_proc;;
3)creer_rep;;
4)sauv_fichier;;
5)recuperer_processus;;
6)networking;;
7)quitter;;
*)exit 0;;
esac
}
if [ ! `id -u` = 0 ]; then
echo -e "\033[31m Ce script doit être executé en root \033[00m"
echo""
echo "**********************************************"
echo "Appuyer sur la touche <Entrée> pour quitter..."
echo "**********************************************"
read touche
case $touche in
*)echo -e "\033[37m**** Reprise du script... ****\033[00m";;
esac
exit 0
else
Menu
fi
J'ai envoyé un ange pour te protéger mais il est revenu me dire qu'il ne pouvait veiller sur un autre