Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1790 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  script gnome2 samba serveur

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

script gnome2 samba serveur

n°213008
myocastor
Posté le 18-01-2003 à 07:39:14  profilanswer
 

Bon, voila , il y a quelques temps, j'ai écrit ce script qui permet de partager ou départager un répertoire sous samba. Ca ne modifie pas les options de smb.conf.
script toto   -> partage toto s'il n'est pas partagé
script toto   -> départage toto s'il n'est partagé
L'idée de départ est de mettre çà dans le menu contextuel "scripts" de gnome2
Voila , si ca peut servir à qq.
 
#!/bin/sh  
# copyleft myocastor  
# myocastor@netcourrier.com
# "Coded with feet"  
 
# parametres globaux  
smbconf="/etc/samba/smb.conf"  
script="/etc/init.d/samba restart"  
 
declare -i SHARESSTART  
declare -i SHARESSTOP  
declare -i NBSHARE  
declare -i i  
 
 
function verif  
{  
echo "Partages : "$SHARE  
echo " "  
echo "Nom de partage   ligne debut   ligne fin   repertoire"  
echo " "  
for i in $(seq 1 $NBSHARE) ; do  
echo ${NOMSHARES[i]}  ${SHARESSTART[i]}  ${SHARESSTOP[i]}   ${SHAREPATH[i]}  
done  
}  
 
function SuppressionPartage  
{  
if [ -f $smbconf.old ] ; then  
rm -fr $smbconf.old  
fi  
mv $smbconf $smbconf.old  
EXPR="cat $smbconf.old | sed '${SHARESSTART[$1]},${SHARESSTOP[$1]}d'"  
eval $EXPR > $smbconf  
eval $script  
}  
 
function AjouterPartage  
{  
local k  
declare -i j  
j=$((0))  
ok="0"  
NOMTESTE=$REP  
while [ "$ok" = "0" ] ; do  
       corr="0"  
for i in $(seq 1 $NBSHARE) ; do  
                         if [ "$NOMTESTE" = ${NOMSHARES[i]} ] ; then  
                                                         corr="1"  
                                                         fi  
    done  
       if [ "$corr" = "0" ] ; then  
                              ok="1"  
                              else  
         NOMTESTE=$REP$j  
                              j=$((j+1))  
   fi  
done  
 
echo "      ">>$smbconf  
echo "[$NOMTESTE]">>$smbconf  
echo " comment = " >> $smbconf  
echo " path = $PWD/$REP" >> $smbconf  
echo " valid users = @partage" >> $smbconf  
echo " public = no" >> $smbconf  
echo " writable = yes" >> $smbconf  
eval $script  
}  
 
 
# determiner les partages (les sections commencent par la  
# declaration [...]  
 
ENTETE="^[ ]*[[]\{1\}\(.\+\$*\)[]]\{1\}[ ]*$"  
EXPR="cat $smbconf | sed -n 's/$ENTETE/\1/gp'"  
SHARE=$(eval $EXPR)  
NBSHARE=$(eval $EXPR | wc -l)  
 
 
# determiner la ligne de demarrage du partage  
# stocker dans NOMSHARE  
# et SHARESSTART  
# le dernier partage est fictif (fin de fichier)  
 
for i in $(seq 1 $NBSHARE) ; do  
EXPR3="$EXPR  | sed -n '$i,${i}p'"  
NOMSHARES[i]=$(eval $EXPR3)  
EXPR2="cat $smbconf | sed -n '/^[ ]*[[]\{1\}${NOMSHARES[i]}[]]\{1\}[ ]*$/='"  
SHARESSTART[i]=$(eval $EXPR2)  
done  
i=$((i+1))  
SHARESSTART[i]=$(cat $smbconf|wc -l)+1  
 
 
# determiner la ligne de fin de partage  
# stocker dans SHARESSTOP  
# ensuite, un sed 'debut,find' supprimera sur stdout  
# le partage dans smb.conf  
 
for i in $(seq 1 $NBSHARE) ; do  
SHARESSTOP[i]=${SHARESSTART[i+1]}-1  
done  
 
 
# determiner le nom du repertoire du partage  
 
for i in $(seq 1 $NBSHARE) ; do  
EXPR4="^[ ]*[pP][aA][tT][hH][ ]*=[ ]*\(\/.\+\/*\)[ ]*$"  
EXPR3="cat $smbconf| sed -n '${SHARESSTART[i]},${SHARESSTOP[i]}p'| sed -n 's/$EXPR4/\1/gp'"  
SHAREPATH[i]=$(eval $EXPR3)  
done  
 
REP="$1"  
SUPP=$((0))  
 
for i in $(seq 1 $NBSHARE) ; do  
if [ "$PWD/$REP" = "${SHAREPATH[i]}" ] ; then  
 # departager le repertoire  
 SuppressionPartage $i  
 SUPP=$((1))  
 fi  
done  
 
if [ $SUPP -eq 0 ] ; then  
AjouterPartage  
fi  

mood
Publicité
Posté le 18-01-2003 à 07:39:14  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  script gnome2 samba serveur

 

Sujets relatifs
Petit script utilisant les permissions du rootcreer un serveur dns
Securiser un serveurSynchroniser SAMBA sur AD (authentification)
Un logiciel pour serveur ftp?Pb Gnome2 sous Debian
Mon 1er script iptablespb serveur ssh....debian .
Samba en PDC : Comment sauvegarder ses mails dans le profil ?[iptables] un script de 2 ligne qui marche pas
Plus de sujets relatifs à : script gnome2 samba serveur


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR