Miscellany
public text v1 · immutable#!/bin/bash
groups $USER >~/temp
utilisateurexec=admin
for verifutilisateurexec in $utilisateurexec
do
if grep "$verifutilisateurexec" ~/temp >/dev/null
then
rm -f ~/temp
break
else
echo -e "Désolé mais vos droits d'administration sont insuffisant"
rm -f ~/temp
exit 0
fi
done
#clear
echo -e "\v\t\t########################################################"
echo -e "\t\t### Configuration des partages samba ###"
echo -e "\t\t########################################################"
echo -e "\t\t### ###"
echo -e "\t\t### -1- Configuration simple ###"
echo -e "\t\t### -2- Configuration avancée (Gestion des droits) ###"
echo -e "\t\t### -3- Application des changements ###"
echo -e "\t\t### -4- Restauration smb.conf ###"
echo -e "\t\t### -5- Redemarrage du service samba ###"
echo -e "\t\t### -6- Quitter ###"
echo -e "\t\t### ###"
echo -e "\t\t########################################################"
echo -e "\t\t## Odin #################################### V1.1 ######"
echo -e "\t\t########################################################\n\n"
echo -e "Votre choix : "
read reponse
case $reponse in
1)
clear
echo -e "\t\t############################"
echo -e "\t\t### Configuration simple ###"
echo -e "\t\t############################"
if [ -f ~/smb.conf.temp ]
then
echo -e "Le fichier temporaire existe déjà"
echo -e "Voulez vous l'écraser ? [o/n]"
while read ecraser
do
if [[ $ecraser != ?([on]) ]]
then
echo -e "mauvaise saisie"
echo -e "Voulez vous l'écraser ? [o/n]"
else
break
fi
done
fi
if [ $ecraser = n ]
then
echo -e " "
else
rm -f ~/smb.conf.temp
echo -e "Fichier détruit"
fi
clear
echo -e "\t\t### Quel nom voulez-vous donner a votre partage : "
read nompartage
echo -e "[$nompartage]" >>~/smb.conf.temp
clear
echo -e "\t\t### Veuillez indiquer le chemin complet du repertoire : "
while read chemin
do
if [ ! -d $chemin ]
then
echo -e "ce n'est pas un dossier valide"
echo -e "###Veuillez indiquer le chemin complet du repertoire : "
else
break
fi
done
echo -e "path = $chemin" >>~/smb.conf.temp
clear
echo -e "\t\t### Voulez vous mettre un commentaire : "
read commentaire
if [ -z $commentaire ]
then
echo -e "pas de commentaire"
else
echo -e "comment = $commentaire" >>~/smb.conf.temp
fi
clear
echo -e "\t\t### Voulez vous activez la lecture seul sur le partage [o/n] : "
while read lecture
do
if [[ $lecture != ?([on]) ]]
then
echo -e "mauvaise saisie"
echo -e "### Voulez vous activez la lecture seul sur le partage [o/n] : "
else
break
fi
done
if [ $lecture = n ]
then
echo -e " "
else
echo -e "read only = yes" >>~/smb.conf.temp
fi
clear
unset verif verif1 verif2 tes tes1 tes2 tes3 tes4 tes5
echo -e "\t\t### Veuillez indiquer les utilisateurs autorisés à accéder à votre partage: "
echo -e "Si plusieurs utilisateurs mettre un espace entre chaque valeur"
read utilisateur
for verifutilisateur in $utilisateur
do
if grep "$verifutilisateur" /etc/passwd >/dev/null
then
tes1="$tes1 $verifutilisateur"
tes="$tes $verifutilisateur"
else
echo -e " '$verifutilisateur' n'est pas défini dans le système en tant qu'utilisateur"
tes1="$tes1 $verifutilisateur"
verif=$?
fi
done
case ${verif:-1} in
0)
echo -e "Voulez vous garder :"
echo -e "1) '$tes ' qui sont défini dans votre système"
echo -e "2) '$tes1 ' qui était votre première saisie "
read choixutilisateur
case $choixutilisateur in
1) echo -e "\t\t### Veuillez indiquer les groupes autorisés à accéder à votre partage : "
echo -e "Si plusieurs groupes mettre un espace entre chaque valeur"
read groupe
for verifgroupe in $groupe
do
if grep "$verifgroupe" /etc/group >/dev/null
then
tes5="$tes5 @$verifgroupe"
tes4="$tes4 @$verifgroupe"
else
echo -e " '@$verifgroupe' n'est pas defini dans le systeme en tant que groupe"
tes5="$tes5 @$verifgroupe"
verif2=$?
fi
done
case ${verif2:-1} in
0)
echo -e "Voulez vous garder :"
echo -e "1) '$tes4 ' qui sont defini dans votre systeme"
echo -e "2) '$tes5 ' qui etait votre premiere saisie "
read choixgroupe
case $choixgroupe in
1) echo -e "valid users =$tes $tes4 " >>~/smb.conf.temp ;;
2) echo -e "valid users =$tes $tes5 " >>~/smb.conf.temp ;;
*) echo -e "choix incorrecte " ;;
esac
;;
1)
echo -e "tous vos groupes sont défini sur le système"
echo -e "valid users =$tes $tes5" >>~/smb.conf.temp
;;
esac
;;
2) echo -e "\t\t### Veuillez indiquer les groupes autorisés à accéder à votre partage : "
echo -e "Si plusieurs utilisateurs ou groupes mettre un espace entre chaque valeur"
read groupe
for verifgroupe in $groupe
do
if grep "$verifgroupe" /etc/group >/dev/null
then
tes5="$tes5 @$verifgroupe"
tes4="$tes4 @$verifgroupe"
else
echo -e " '@$verifgroupe' n'est pas defini dans le système en tant que groupe"
tes5="$tes5 @$verifgroupe"
verif2=$?
fi
done
case ${verif2:-1} in
0)
echo -e "Voulez vous garder :"
echo -e "1) '$tes4 ' qui sont défini dans votre système"
echo -e "2) '$tes5 ' qui était votre première saisie "
read choixgroupe
case $choixgroupe in
1) echo -e "valid users =$tes1 $tes4 " >>~/smb.conf.temp ;;
2) echo -e "valid users =$tes1 $tes5 " >>~/smb.conf.temp ;;
*) echo -e "choix incorrecte " ;;
esac
;;
1)
echo -e "tous vos groupes sont défini sur le système"
echo -e "valid users =$tes1 $tes5" >>~/smb.conf.temp
;;
esac
;;
esac
;;
1)
echo -e "tous vos utilisateurs sont défini sur le système"
echo -e "\t\t### Veuillez indiquer les groupes autorisés à accéder à votre partage : "
echo -e "Si plusieurs groupes mettre un espace entre chaque valeur"
read groupe
for verifgroupe in $groupe
do
if grep "$verifgroupe" /etc/group >/dev/null
then
tes5="$tes5 @$verifgroupe"
tes4="$tes4 @$verifgroupe"
else
echo -e " '@$verifgroupe' n'est pas defini dans le système en tant que groupe"
tes5="$tes5 @$verifgroupe"
verif2=$?
fi
done
case ${verif2:-1} in
0)
echo -e "Voulez vous garder :"
echo -e "1) '$tes4 ' qui sont défini dans votre système"
echo -e "2) '$tes5 ' qui était votre première saisie "
read choixgroupe
case $choixgroupe in
1) echo -e "valid users =$tes1 $tes4 " >>~/smb.conf.temp ;;
2) echo -e "valid users =$tes1 $tes5 " >>~/smb.conf.temp ;;
*) echo -e "choix incorrecte " ;;
esac
;;
1)
echo -e "tous vos groupes sont défini sur le système"
echo -e "valid users =$tes1 $tes5" >>~/smb.conf.temp
;;
esac
;;
esac
clear
echo -e "\t\t### Voulez vous rendre accessible votre partage a tous le monde ? [o/n]"
while read invite
do
if [[ $invite != ?([on]) ]]
then
echo -e "mauvaise saisie"
echo -e "\t\t### Voulez vous rendre accessible votre partage a tous le monde ? [o/n]"
else
break
fi
done
if [ $invite = n ]
then
echo -e "guest ok = no " >>~/smb.conf.temp
else
echo -e "guest ok = yes" >>~/smb.conf.temp
fi
clear
unset verif verif1 verif2 tes tes1 tes2 tes3 tes4 tes5
echo -e "\t\t### Quels Utilisateurs ont le droits en modification sur votre partage"
echo -e "Si plusieurs utilisateurs mettre un espace entre chaque valeur"
read writeutilisateur
for verifwriteutilisateur in $writeutilisateur
do
if grep "$verifwriteutilisateur" /etc/passwd >/dev/null
then
tes1="$tes1 $verifwriteutilisateur"
tes="$tes $verifwriteutilisateur"
else
echo -e " '$verifwriteutilisateur' n'est pas défini dans le système en tant qu'utilisateur"
tes1="$tes1 $verifwriteutilisateur"
verif=$?
fi
done
case ${verif:-1} in
0)
echo -e "Voulez vous garder :"
echo -e "1) '$tes ' qui sont défini dans votre système"
echo -e "2) '$tes1 ' qui était votre première saisie "
read choixwriteutilisateur
case $choixwriteutilisateur in
1) echo -e "\t\t### Quels groupes ont le droits en modification sur votre partage"
echo -e "Si plusieurs groupes mettre un espace entre chaque valeur"
read writegroupe
for verifwritegroupe in $writegroupe
do
if grep "$verifwritegroupe" /etc/group >/dev/null
then
tes5="$tes5 @$verifwritegroupe"
tes4="$tes4 @$verifwritegroupe"
else
echo -e " '@$verifwritegroupe' n'est pas défini dans le système en tant que groupe"
tes5="$tes5 @$verifwritegroupe"
verif2=$?
fi
done
case ${verif2:-1} in
0)
echo -e "Voulez vous garder :"
echo -e "1) '$tes4 ' qui sont défini dans votre système"
echo -e "2) '$tes5 ' qui était votre première saisie "
read choixwritegroupe
case $choixwritegroupe in
1) echo -e "write list =$tes $tes4 " >>~/smb.conf.temp ;;
2) echo -e "write list =$tes $tes5 " >>~/smb.conf.temp ;;
*) echo -e "choix incorrecte " ;;
esac
;;
1)
echo -e "tous vos groupes sont défini sur le système"
echo -e "write list =$tes $tes5" >>~/smb.conf.temp
;;
esac
;;
2) echo -e "\t\t### Quels groupes ont le droits en modification sur votre partage"
echo -e "Si plusieurs groupes mettre un espace entre chaque valeur"
read writegroupe
for verifwritegroupe in $writegroupe
do
if grep "$verifwritegroupe" /etc/group >/dev/null
then
tes5="$tes5 @$verifwritegroupe"
tes4="$tes4 @$verifwritegroupe"
else
echo -e " '@$verifwritegroupe' n'est pas défini dans le système en tant que groupe"
tes5="$tes5 @$verifwritegroupe"
verif2=$?
fi
done
case ${verif2:-1} in
0)
echo -e "Voulez vous garder :"
echo -e "1) '$tes4 ' qui sont defini dans votre système"
echo -e "2) '$tes5 ' qui était votre première saisie "
read choixwritegroupe
case $choixwritegroupe in
1) echo -e "write list =$tes1 $tes4 " >>~/smb.conf.temp ;;
2) echo -e "write list =$tes1 $tes5 " >>~/smb.conf.temp ;;
*) echo -e "choix incorrecte " ;;
esac
;;
1)
echo -e "tous vos groupes sont défini sur le système"
echo -e "write list =$tes1 $tes5" >>~/smb.conf.temp
;;
esac
;;
*) echo -e "choix incorrecte " ;;
esac
;;
1)
echo -e "tous vos utilisateur sont défini sur le système"
echo -e "\t\t### Quels groupes ont le droits en modification sur votre partage"
echo -e "Si plusieurs groupes mettre un espace entre chaque valeur"
read writegroupe
for verifwritegroupe in $groupe
do
if grep "$verifwritegroupe" /etc/group >/dev/null
then
tes5="$tes5 @$verifwritegroupe"
tes4="$tes4 @$verifwritegroupe"
else
echo -e " '@$verifwritegroupe' n'est pas défini dans le système en tant que groupe"
tes5="$tes5 @$verifwritegroupe"
verif2=$?
fi
done
case ${verif2:-1} in
0)
echo -e "Voulez vous garder :"
echo -e "1) '$tes4 ' qui sont défini dans votre système"
echo -e "2) '$tes5 ' qui était votre première saisie "
read choixwritegroupe
case $choixwritegroupe in
1) echo -e "write list =$tes1 $tes4 " >>~/smb.conf.temp ;;
2) echo -e "write list =$tes1 $tes5 " >>~/smb.conf.temp ;;
*) echo -e "choix incorrecte " ;;
esac
;;
1)
echo -e "tous vos groupes sont défini sur le système"
echo -e "write list =$tes1 $tes5" >>~/smb.conf.temp
;;
esac
;;
esac
clear
echo -e "\t\t### Votre partage est-il un partage caché ? [o/n]"
while read browseable
do
if [[ $browseable != ?([on]) ]]
then
echo -e "mauvaise saisie"
echo -e "### Votre partage est-il un partage caché ? [o/n] : "
else
break
fi
done
if [ $browseable = n ]
then
echo -e "browseable = yes " >>~/smb.conf.temp
else
echo -e "browseable = no " >>~/smb.conf.temp
fi
clear
echo -e "\t\t### Voulez vous visualiser le fichier ? [o/n]"
while read verification
do
if [[ $verification != ?([on]) ]]
then
echo -e "Pour appliquer les changements relancé le script et choisir -3-"
exit 0
else
echo -e "Si vous voulez éditer manuellement le partage "
echo -e "le fichier temporaire ce trouve :"
ls ~/smb.conf.temp
echo -e " "
cat ~/smb.conf.temp
break
fi
done
exit 0
;;
2)
clear
echo -e "\t\t#############################"
echo -e "\t\t### Configuration avancée ###"
echo -e "\t\t#############################"
# cp -f /etc/samba/smb.conf ~/smb.conf.temp
if [ -f ~/smb.conf.temp ]
then
echo -e "Le fichier temporaire existe déjà"
echo -e "Voulez vous l'écraser ? [o/n]"
while read ecraser
do
if [[ $ecraser != ?([on]) ]]
then
echo -e "mauvaise saisie"
echo -e "Voulez vous l'écraser ? [o/n]"
else
break
fi
done
fi
if [ $ecraser = n ]
then
echo -e " "
else
rm -f ~/smb.conf.temp
echo -e "Fichier détruit"
fi
echo -e "\t\t### Nom du partage : "
read nompartage
echo -e "[$nompartage]" >>~/smb.conf.temp
echo -e "\t\t### Chemin du repertoire : "
while read chemin
do
if [ ! -d $chemin ]
then
echo -e "ce n'est pas un dossier valide"
echo -e "\t\t### Chemin du repertoire : "
else
break
fi
done
echo -e "path = $chemin" >>~/smb.conf.temp
echo -e "\t\t### Voulez vous mettre un commentaire : "
read commentaire
if [ -z $commentaire ]
then
echo -e "pas de commentaire"
else
echo -e "comment = $commentaire" >>~/smb.conf.temp
fi
echo -e "\t\t### Voulez vous activez la lecture seul sur le partage [o/n] : "
while read lecture
do
if [[ $lecture != ?([on]) ]]
then
echo -e "mauvaise saisie"
echo -e "\t\t### Voulez vous activez la lecture seul sur le partage [o/n] : "
else
break
fi
done
if [ $lecture = n ]
then
echo -e " " >> /dev/null
else
echo -e "read only = yes" >>~/smb.conf.temp
fi
clear
unset verif verif1 verif2 tes tes1 tes2 tes3 tes4 tes5
echo -e "\t\t### Veuillez indiquer les utilisateurs autorisés à accéder à votre partage: "
echo -e "Si plusieurs utilisateurs mettre un espace entre chaque valeur"
read utilisateur
for verifutilisateur in $utilisateur
do
if grep "$verifutilisateur" /etc/passwd >/dev/null
then
tes1="$tes1 $verifutilisateur"
tes="$tes $verifutilisateur"
else
echo -e " '$verifutilisateur' n'est pas défini dans le système en tant qu'utilisateur"
tes1="$tes1 $verifutilisateur"
verif=$?
fi
done
case ${verif:-1} in
0)
echo -e "Voulez vous garder :"
echo -e "1) '$tes ' qui sont défini dans votre système"
echo -e "2) '$tes1 ' qui était votre première saisie "
read choixutilisateur
case $choixutilisateur in
1) echo -e "\t\t### Veuillez indiquer les groupes autorisés à accéder à votre partage : "
echo -e "Si plusieurs groupes mettre un espace entre chaque valeur"
read groupe
for verifgroupe in $groupe
do
if grep "$verifgroupe" /etc/group >/dev/null
then
tes5="$tes5 @$verifgroupe"
tes4="$tes4 @$verifgroupe"
else
echo -e " '@$verifgroupe' n'est pas défini dans le système en tant que groupe"
tes5="$tes5 @$verifgroupe"
verif2=$?
fi
done
case ${verif2:-1} in
0)
echo -e "Voulez vous garder :"
echo -e "1) '$tes4 ' qui sont défini dans votre système"
echo -e "2) '$tes5 ' qui était votre première saisie "
read choixgroupe
case $choixgroupe in
1) echo -e "valid users =$tes $tes4 " >>~/smb.conf.temp ;;
2) echo -e "valid users =$tes $tes5 " >>~/smb.conf.temp ;;
*) echo -e "choix incorrecte " ;;
esac
;;
1)
echo -e "tous vos groupes sont défini sur le système"
echo -e "valid users =$tes $tes5" >>~/smb.conf.temp
;;
esac
;;
2) echo -e "\t\t### Veuillez indiquer les groupes autorisés à accéder à votre partage : "
echo -e "Si plusieurs groupes mettre un espace entre chaque valeur"
read groupe
for verifgroupe in $groupe
do
if grep "$verifgroupe" /etc/group >/dev/null
then
tes5="$tes5 @$verifgroupe"
tes4="$tes4 @$verifgroupe"
else
echo -e " '@$verifgroupe' n'est pas défini dans le système en tant que groupe"
tes5="$tes5 @$verifgroupe"
verif2=$?
fi
done
case ${verif2:-1} in
0)
echo -e "Voulez vous garder :"
echo -e "1) '$tes4 ' qui sont defini dans votre système"
echo -e "2) '$tes5 ' qui était votre première saisie "
read choixgroupe
case $choixgroupe in
1) echo -e "valid users =$tes1 $tes4 " >>~/smb.conf.temp ;;
2) echo -e "valid users =$tes1 $tes5 " >>~/smb.conf.temp ;;
*) echo -e "choix incorrecte " ;;
esac
;;
1)
echo -e "tous vos groupes sont défini sur le système"
echo -e "valid users =$tes1 $tes5" >>~/smb.conf.temp
;;
esac
;;
*) echo -e "choix incorrecte " ;;
esac
;;
1)
echo -e "tous vos utilisateur sont défini sur le système"
echo -e "\t\t### Veuillez indiquer les groupes autorisés à accéder à votre partage : "
echo -e "Si plusieurs groupes mettre un espace entre chaque valeur"
read groupe
for verifgroupe in $groupe
do
if grep "$verifgroupe" /etc/group >/dev/null
then
tes5="$tes5 @$verifgroupe"
tes4="$tes4 @$verifgroupe"
else
echo -e " '@$verifgroupe' n'est pas défini dans le système en tant que groupe"
tes5="$tes5 @$verifgroupe"
verif2=$?
fi
done
case ${verif2:-1} in
0)
echo -e "Voulez vous garder :"
echo -e "1) '$tes4 ' qui sont défini dans votre système"
echo -e "2) '$tes5 ' qui était votre première saisie "
read choixgroupe
case $choixgroupe in
1) echo -e "valid users =$tes1 $tes4 " >>~/smb.conf.temp ;;
2) echo -e "valid users =$tes1 $tes5 " >>~/smb.conf.temp ;;
*) echo -e "choix incorrecte " ;;
esac
;;
1)
echo -e "tous vos groupes sont défini sur le système"
echo -e "valid users =$tes1 $tes5" >>~/smb.conf.temp
;;
esac
;;
esac
echo -e "\t\t### Voulez vous rendre accessible votre partage a tous le monde ? [o/n]"
while read invite
do
if [[ $invite != ?([on]) ]]
then
echo -e "mauvaise saisie"
echo -e "\t\t### Voulez vous rendre accessible votre partage a tous le monde ? [o/n]"
else
break
fi
done
if [ $invite = n ]
then
echo -e "guest ok = no " >>~/smb.conf.temp
else
echo -e "guest ok = yes" >>~/smb.conf.temp
fi
clear
unset verif verif1 verif2 tes tes1 tes2 tes3 tes4 tes5
echo -e "\t\t### Quels Utilisateurs ont le droits en modification sur votre partage"
echo -e "Si plusieurs utilisateurs mettre un espace entre chaque valeur"
read writeutilisateur
for verifwriteutilisateur in $writeutilisateur
do
if grep "$verifwriteutilisateur" /etc/passwd >/dev/null
then
tes1="$tes1 $verifwriteutilisateur"
tes="$tes $verifwriteutilisateur"
else
echo -e " '$verifwriteutilisateur' n'est pas défini dans le système en tant qu'utilisateur"
tes1="$tes1 $verifwriteutilisateur"
verif=$?
fi
done
case ${verif:-1} in
0)
echo -e "Voulez vous garder :"
echo -e "1) '$tes ' qui sont défini dans votre système"
echo -e "2) '$tes1 ' qui était votre première saisie "
read choixwriteutilisateur
case $choixwriteutilisateur in
1) echo -e "\t\t### Quels groupes ont le droits en modification sur votre partage"
echo -e "Si plusieurs groupes mettre un espace entre chaque valeur"
read writegroupe
for verifwritegroupe in $writegroupe
do
if grep "$verifwritegroupe" /etc/group >/dev/null
then
tes5="$tes5 @$verifwritegroupe"
tes4="$tes4 @$verifwritegroupe"
else
echo -e " '@$verifwritegroupe' n'est pas défini dans le système en tant que groupe"
tes5="$tes5 @$verifwritegroupe"
verif2=$?
fi
done
case ${verif2:-1} in
0)
echo -e "Voulez vous garder :"
echo -e "1) '$tes4 ' qui sont défini dans votre système"
echo -e "2) '$tes5 ' qui était votre première saisie "
read choixwritegroupe
case $choixwritegroupe in
1) echo -e "write list =$tes $tes4 " >>~/smb.conf.temp ;;
2) echo -e "write list =$tes $tes5 " >>~/smb.conf.temp ;;
*) echo -e "choix incorrecte " ;;
esac
;;
1)
echo -e "tous vos groupes sont défini sur le système"
echo -e "write list =$tes $tes5" >>~/smb.conf.temp
;;
esac
;;
2) echo -e "\t\t### Quels groupes ont le droits en modification sur votre partage"
echo -e "Si plusieurs groupes mettre un espace entre chaque valeur"
read writegroupe
for verifwritegroupe in $writegroupe
do
if grep "$verifwritegroupe" /etc/group >/dev/null
then
tes5="$tes5 @$verifwritegroupe"
tes4="$tes4 @$verifwritegroupe"
else
echo -e " '@$verifwritegroupe' n'est pas défini dans le système en tant que groupe"
tes5="$tes5 @$verifwritegroupe"
verif2=$?
fi
done
case ${verif2:-1} in
0)
echo -e "Voulez vous garder :"
echo -e "1) '$tes4 ' qui sont defini dans votre système"
echo -e "2) '$tes5 ' qui était votre première saisie "
read choixwritegroupe
case $choixwritegroupe in
1) echo -e "write list =$tes1 $tes4 " >>~/smb.conf.temp ;;
2) echo -e "write list =$tes1 $tes5 " >>~/smb.conf.temp ;;
*) echo -e "choix incorrecte " ;;
esac
;;
1)
echo -e "tous vos groupes sont défini sur le système"
echo -e "write list =$tes1 $tes5" >>~/smb.conf.temp
;;
esac
;;
*) echo -e "choix incorrecte " ;;
esac
;;
1)
echo -e "tous vos utilisateur sont défini sur le système"
echo -e "\t\t### Quels groupes ont le droits en modification sur votre partage"
echo -e "Si plusieurs groupes mettre un espace entre chaque valeur"
read writegroupe
for verifwritegroupe in $groupe
do
if grep "$verifwritegroupe" /etc/group >/dev/null
then
tes5="$tes5 @$verifwritegroupe"
tes4="$tes4 @$verifwritegroupe"
else
echo -e " '@$verifwritegroupe' n'est pas défini dans le système en tant que groupe"
tes5="$tes5 @$verifwritegroupe"
verif2=$?
fi
done
case ${verif2:-1} in
0)
echo -e "Voulez vous garder :"
echo -e "1) '$tes4 ' qui sont défini dans votre système"
echo -e "2) '$tes5 ' qui était votre première saisie "
read choixwritegroupe
case $choixwritegroupe in
1) echo -e "write list =$tes1 $tes4 " >>~/smb.conf.temp ;;
2) echo -e "write list =$tes1 $tes5 " >>~/smb.conf.temp ;;
*) echo -e "choix incorrecte " ;;
esac
;;
1)
echo -e "tous vos groupes sont défini sur le système"
echo -e "write list =$tes1 $tes5" >>~/smb.conf.temp
;;
esac
;;
esac
echo -e "\t\t### Votre partage est-il un partage caché ? [o/n]"
while read browseable
do
if [[ $browseable != ?([on]) ]]
then
echo -e "mauvaise saisie"
echo -e "\t\t### Votre partage est-il un partage caché ? [o/n] : "
else
break
fi
done
if [ $browseable = n ]
then
echo -e "browseable = yes " >>~/smb.conf.temp
else
echo -e "browseable = no " >>~/smb.conf.temp
fi
echo -e "\t\t### Activé les droits accordés à un fichier créé dans le partage ? [o/n]"
while read createmode
do
if [[ $createmode != ?([on]) ]]
then
echo -e "mauvaise saisie"
echo -e "\t\t### Activé les droits accordés à un fichier créé dans le partage ? [o/n]"
else
break
fi
done
if [ $createmode = n ]
then
echo -e ""
else
echo -e "################################################"
echo -e "### Droit du proprietaire ###"
echo -e "################################################"
echo -e "### ###"
echo -e "### -1- rwx -2- rw- -3- r-x -4- r-- ###"
echo -e "### -5- -wx -6- -w- -7- --x -8- --- ###"
echo -e "### ###"
echo -e "################################################"
echo -e "################################################"
echo -e "Votre choix : "
while read createmodedroitproprio
do
if [[ $createmodedroitproprio != ?([1-8]) ]]
then
echo -e "mauvaise saisie"
echo -e "Votre choix : "
else
break
fi
done
case $createmodedroitproprio in
1) cmdp=07 ;;
2) cmdp=06 ;;
3) cmdp=05 ;;
4) cmdp=04 ;;
5) cmdp=03 ;;
6) cmdp=02 ;;
7) cmdp=01 ;;
8) cmdp=00 ;;
esac
echo -e "################################################"
echo -e "### Droit du groupe ###"
echo -e "################################################"
echo -e "### ###"
echo -e "### -1- rwx -2- rw- -3- r-x -4- r-- ###"
echo -e "### -5- -wx -6- -w- -7- --x -8- --- ###"
echo -e "### ###"
echo -e "################################################"
echo -e "################################################"
echo -e "Votre choix : "
while read createmodedroitgroupe
do
if [[ $createmodedroitgroupe != ?([1-8]) ]]
then
echo -e "mauvaise saisie"
echo -e "Votre choix : "
else
break
fi
done
case $createmodedroitgroupe in
1) cmdg=7 ;;
2) cmdg=6 ;;
3) cmdg=5 ;;
4) cmdg=4 ;;
5) cmdg=3 ;;
6) cmdg=2 ;;
7) cmdg=1 ;;
8) cmdg=0 ;;
esac
echo -e "################################################"
echo -e "### Droit des autres ###"
echo -e "################################################"
echo -e "### ###"
echo -e "### -1- rwx -2- rw- -3- r-x -4- r-- ###"
echo -e "### -5- -wx -6- -w- -7- --x -8- --- ###"
echo -e "### ###"
echo -e "################################################"
echo -e "################################################"
echo -e "Votre choix : "
while read createmodedroitautre
do
if [[ $createmodedroitautre != ?([1-8]) ]]
then
echo -e "mauvaise saisie"
echo -e "Votre choix : "
else
break
fi
done
case $createmodedroitautre in
1) cmda=7 ;;
2) cmda=6 ;;
3) cmda=5 ;;
4) cmda=4 ;;
5) cmda=3 ;;
6) cmda=2 ;;
7) cmda=1 ;;
8) cmda=0 ;;
esac
echo -e "create mode = $cmdp$cmdg$cmda " >>~/smb.conf.temp
fi
echo -e "\t\t### Activé droits accordés à un répertoire créé dans le partage ? [o/n]"
while read directorymode
do
if [[ $directorymode != ?([on]) ]]
then
echo -e "mauvaise saisie"
echo -e "\t\t### Activé les droits accordés à un répertoire créé dans le partage ? [o/n]"
else
break
fi
done
if [ $directorymode = n ]
then
echo -e ""
else
echo -e "################################################"
echo -e "### Droit du proprietaire ###"
echo -e "################################################"
echo -e "### ###"
echo -e "### -1- rwx -2- rw- -3- r-x -4- r-- ###"
echo -e "### -5- -wx -6- -w- -7- --x -8- --- ###"
echo -e "### ###"
echo -e "################################################"
echo -e "################################################"
echo -e "Votre choix : "
while read irectorymodedroitproprio
do
if [[ $irectorymodedroitproprio != ?([1-8]) ]]
then
echo -e "mauvaise saisie"
echo -e "Votre choix : "
else
break
fi
done
case $directorymodedroitproprio in
1) dmdp=07 ;;
2) dmdp=06 ;;
3) dmdp=05 ;;
4) dmdp=04 ;;
5) dmdp=03 ;;
6) dmdp=02 ;;
7) dmdp=01 ;;
8) dmdp=00 ;;
esac
echo -e "################################################"
echo -e "### Droit du groupe ###"
echo -e "################################################"
echo -e "### ###"
echo -e "### -1- rwx -2- rw- -3- r-x -4- r-- ###"
echo -e "### -5- -wx -6- -w- -7- --x -8- --- ###"
echo -e "### ###"
echo -e "################################################"
echo -e "################################################"
echo -e "Votre choix : "
while read directorymodedroitgroupe
do
if [[ $directorymodedroitgroupe != ?([1-8]) ]]
then
echo -e "mauvaise saisie"
echo -e "Votre choix : "
else
break
fi
done
case $directorymodedroitgroupe in
1) dmdg=7 ;;
2) dmdg=6 ;;
3) dmdg=5 ;;
4) dmdg=4 ;;
5) dmdg=3 ;;
6) dmdg=2 ;;
7) dmdg=1 ;;
8) dmdg=0 ;;
esac
echo -e "################################################"
echo -e "### Droit des autres ###"
echo -e "################################################"
echo -e "### ###"
echo -e "### -1- rwx -2- rw- -3- r-x -4- r-- ###"
echo -e "### -5- -wx -6- -w- -7- --x -8- --- ###"
echo -e "### ###"
echo -e "################################################"
echo -e "################################################"
echo -e "Votre choix : "
while read directorymodedroitautre
do
if [[ $directorymodedroitautre != ?([1-8]) ]]
then
echo -e "mauvaise saisie"
echo -e "Votre choix : "
else
break
fi
done
case $directorymodedroitautre in
1) dmda=7 ;;
2) dmda=6 ;;
3) dmda=5 ;;
4) dmda=4 ;;
5) dmda=3 ;;
6) dmda=2 ;;
7) dmda=1 ;;
8) dmda=0 ;;
esac
echo -e "directory mode = $cmdp$cmdg$cmda " >>~/smb.conf.temp
fi
echo -e "\t\t### Voulez vous imposé un groupe propriétaire d'un fichier lors de sa création dans le partage ? [o/n] "
while read forcegroupe
do
if [[ $forcegroupe != ?([on]) ]]
then
echo -e "mauvaise saisie"
echo -e "\t\t### Voulez vous imposé un groupe propriétaire d'un fichier lors de sa création dans le partage ? [o/n] "
else
break
fi
done
if [ $forcegroupe = n ]
then
echo -e " "
else
echo -e "Entrer le nom de groupe avec '@' devant "
read nomforcegroupe
echo -e "force groupe = $nomforcegroupe " >>~/smb.conf.temp
fi
echo -e "\t\t### Voulez vous cacher les fichiers dont le nom commence par un point [o/n] "
while read hidedotfiles
do
if [[ $hidedotfiles != ?([on]) ]]
then
echo -e "mauvaise saisie"
echo -e "\t\t### Voulez vous cacher les fichiers dont le nom commence par un point [o/n]"
else
break
fi
done
if [ $hidedotfiles = n ]
then
echo -e " "
else
echo -e "hide dot files = yes " >>~/smb.conf.temp
fi
echo -e "\t\t### Voulez vous interdire certain poste du réseau de ce connecté au partage ? [o/n] "
while read hostsdeny
do
if [[ $hostsdeny != ?([on]) ]]
then
echo -e "mauvaise saisie"
echo -e "\t\t### Voulez vous interdire certain poste du réseau de ce connecté au partage ? [o/n] "
else
break
fi
done
if [ $hostsdeny = n ]
then
echo -e " "
else
echo -e "Entrez les adresses IP"
read addressehostsdeny
echo -e "hosts deny = $addressehostsdeny " >>~/smb.conf.temp
fi
echo -e "\t\t### Voulez vous configurer le nombre de connexions à la ressource ? [o/n] "
while read maxconnections
do
if [[ $hmaxconnections != ?([on]) ]]
then
echo -e "mauvaise saisie"
echo -e "\t\t### Voulez vous configurer le nombre de connexions à la ressource ? [o/n] "
else
break
fi
done
if [ $maxconnections = n ]
then
echo -e " "
else
echo -e "Nombre de connexion ?"
read nbmaxconnections
echo -e "max connections = $nbmaxconnections " >>~/smb.conf.temp
fi
echo -e "Voulez vous vérifier le fichier ? [o/n]"
while read verification
do
if [[ $verification != ?([on]) ]]
then
echo -e "Pour appliquer les changements relancé le script et choisir -3-"
exit 0
else
echo -e "Si vous voulez editer le partage manuellement"
echo -e "le fichier temporaire ce trouve :"
ls ~/smb.conf.temp
echo -e " "
cat ~/smb.conf.temp
break
fi
done
exit 0
;;
3)
clear
echo -e "\t\t###################################"
echo -e "\t\t### Application des changements ###"
echo -e "\t\t###################################"
echo -e "Voulez vous appliquer les changements ? [o/n] "
while read change
do
if [[ $change != ?([on]) ]]
then
echo -e "mauvaise saisie"
echo -e "Voulez vous appliquer les changements ? [o/n] "
else
break
fi
done
if [ $change = n ]
then
echo -e " "
else
echo -e "Voulez vous VRAIMENT appliquer les changements ? [o/n] "
while read change1
do
if [[ $change1 != ?([on]) ]]
then
echo -e "mauvaise saisie"
echo -e "Voulez vous VRAIMENT appliquer les changements ? [o/n] "
else
if [ $change1 = n ]
then
echo -e " "
else
sudo cp -f /etc/samba/smb.conf /etc/samba/smb.conf.old
sudo cat ~/smb.conf.temp >>/etc/samba/smb.conf
exit 0
fi
fi
done
fi
;;
4)
clear
echo -e "\t\t###################################"
echo -e "\t\t### Restauration smb.conf ###"
echo -e "\t\t###################################"
echo -e "Voulez vous restaurer le smb.conf ? [o/n] "
while read restauration
do
if [[ $restauration != ?([on]) ]]
then
echo -e "mauvaise saisie"
echo -e "Voulez vous appliquer les changements ? [o/n] "
else
if [ $change = n ]
then
echo -e " "
else
sudo rm -f /etc/samba/smb.conf
sudo mv /etc/samba/smb.conf.old /etc/samba/smb.conf
exit
fi
fi
done
;;
5)
sudo service smbd stop
sudo service smbd start
;;
6)
exit 0
;;
esac