Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 16/02/2007, à 10:09

mephiston

script samba

Bonjour j'ai crée un script sous linux mais je n'ai aucune idée de la manière dont il faut faire pour la lancer sous windows on le nomme . bat mais sous linux je ne sais pas.

De plus je ne suis pas sur que mon script est correct :

SCRIPT DE CREATION D'UN UTILISATEUR SAMBA /

#!/bin/bash
clear
echo "---------------------------------------------------------------------------"
echo "            Ajout d'un utilisateur samba              "
echo "---------------------------------------------------------------------------"
reponse1="O"
while [$reponse1=O]||[$reponse1=o]
do
    echo "Veuillez choisir un nom de connexion :"
    read nom
    echo "Veuillez choisir le groupe auquel appartient cet utilisateur (dom_admin ou dom_users)"
    read groupe
    echo $nom appartiendra au groupe $groupe (oui / non)
    read valide

        if [$valide=oui]||[$valide=OUI] then

                    useradd -G $groupe -m -d /srv/samba/home/$nom -c «utilisateur $nom» -s /bin/false $nom
                    smbpasswd -a $nom

            echo "Création de l'utilisateur réussi !"

        fi

    echo "Voulez-vous créer un nouel utilisateur ? (O/N)"
    read reponse1
done

echo "---------------------------------------------------------------------------"
echo "            Au revoir        "
echo "---------------------------------------------------------------------------"

De plus j'ai ce message a l'execution de mon script, s'il vous plait éclairez moi.

[root@localhost Desktop]# sh scriptuser.rtf 
scriptuser.rtf: line 1: {rtf1ansideff1adeflang1025: command not found
scriptuser.rtf: line 2: {fonttbl{f0fromanfprq2fcharset0: command not found
scriptuser.rtf: line 2: }{f1fswissfprq0fcharset0: command not found
scriptuser.rtf: line 2: }{f2fswissfprq2fcharset0: command not found
scriptuser.rtf: line 2: }{f3fswissfprq0fcharset0: command not found
scriptuser.rtf: line 2: }{f4fswissfprq2fcharset0: command not found
scriptuser.rtf: line 2: }{f5fnilfprq2fcharset0: command not found
scriptuser.rtf: line 2: }{f6fswissfprq2fcharset0: command not found
scriptuser.rtf: line 2: }}: command not found
scriptuser.rtf: line 3: syntax error near unexpected token `}'
scriptuser.rtf: line 3: `{\colortbl;\red0\green0\blue0;\red128\green128\blue128;}'

Cordialement
Mephiston

Hors ligne

#2 Le 18/02/2007, à 15:17

samyboy

Re : script samba

Salut,

Déjà il faut choisir quel est l'interpréteur, donc quel langage pour ton script. Bash ou sh.

- Il n'est pas possible de le lancer sous Windows.
- L'affichage de "Création de l'utilisateur réussi !" s'affiche même quand la création de l'utlisateur n'a pas réussi
- Ensuite, tu peux jouer avec les arguments au lieu de te péter la tête a faire des read ou autre.

Tiens de la doc sur le bash
Advanced Bash-Scripting Guide(en) Très complet
Guide avancé d'écriture des scripts Bash (fr) hop la même mais en français (mais sans les exemples!)

Dernière modification par samyboy (Le 18/02/2007, à 15:21)


Jabber : sam@fritalk.com ||| Kikoo \o/ rofl ... asv ?
http://www.gnurou.org/Writing/SmartQuestionsFr

Hors ligne

#3 Le 18/02/2007, à 15:40

samyboy

Re : script samba

#!/bin/bash

affiche_aide() {
	echo "Ajout d'un utilisateur samba"
	echo "Usage: `basename $0` <utilisateur> <groupe>"
}

# affiche de l'aide si demandé
if [ $1 = "-h" ] || [ $1 = "--help" ]
then
	affiche_aide
	exit 0
fi

# Controle des parametres
if [ $# -ne 2 ]
then
	affiche_aide
	exit 65
fi  


#On a passé les tests!
#On prend les arguments donnés
nom=$1
groupe=$2

# $? c'est l'état de sortie du programme lancé précédemment ( 0 = OK )

# Création de l'utilisateur
echo "useradd -G $groupe -m -d /srv/samba/home/$nom -c «utilisateur $nom» -s /bin/false $nom"
if [ $? -ne 0 ]
then
	echo "ERREUR : L'ajout de l'utilisateur $nom a echoue."
	exit 2
fi

# Affectation du mot de passe
echo "smbpasswd -a $nom"
if [ $? -ne 0 ]
then
	echo "ERREUR : L'application du mot de passe sur $nom a echoue."
	exit 3
fi


echo "L'utilisateur $nom a ete cree dans le groupe $groupe."
echo "merci a+."
exit 0

Jabber : sam@fritalk.com ||| Kikoo \o/ rofl ... asv ?
http://www.gnurou.org/Writing/SmartQuestionsFr

Hors ligne