IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Script de gestion de mot de passe Samba


Sujet :

Linux

  1. #1
    Futur Membre du Club
    Inscrit en
    Mai 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 11
    Points : 8
    Points
    8
    Par défaut Script de gestion de mot de passe Samba
    Bonjour à tous et bravo pour ce site et ce forum !!!

    Je vous expose rapidement mon problème:
    Actuellement en stage, j'ai mis en place un serveur Samba (échange de fichier sous Linux), je dois gérer au total 360 élèves reparti par classe de 18. J'ai donc créer un script permettant de changer les mots de passe de toute une classe (chaque classe à son mot de passe qui est commun à tout les élèves).

    Mon problème est le suivant, comment puis je envoyer le contenu d'une variable dans la commande smbpasswd sans avoir besoin de valider systématiquement avec la touche entrée ?

    Je vous laisse au cas ou mon script dans l'état actuel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    #!/bin/bash
     
    echo "Bonjour !!!"
    echo "Veuillez saisir le niveau de la classe dont vous voulez changer le mot de passe (3,4,5,6,idd5,idd4)"
    read classe
    echo "Veuillez saisir la lettre de la classe (A, B, C, D)"
    read lettre
     
    for lettr in R N
    	do
    		for num in `seq 1 9`
    				do smbpasswd "$classe""$lettre""$lettr""$num"
    				echo "$classe""$lettre""$lettr""$num"
    		                done
    	done
    Et au cas ou l'aide de la commande smbpasswd:
    When run by root:
    smbpasswd [options] [username]
    otherwise:
    smbpasswd [options]

    options:
    -L local mode (must be first option)
    -h print this usage message
    -s use stdin for password prompt
    -c smb.conf file Use the given path to the smb.conf file
    -D LEVEL debug level
    -r MACHINE remote machine
    -U USER remote username
    extra options when run by root or in local mode:
    -a add user
    -d disable user
    -e enable user
    -i interdomain trust account
    -m machine trust account
    -n set no password
    -W use stdin ldap admin password
    -w PASSWORD ldap admin password
    -x delete user
    -R ORDER name resolve order
    Je reste à votre disposition pour tout éclaircissement éventuel, en vous remerciant d'avance, je vous souhaite une bonne journée

    Cordialement
    Neo.08

  2. #2
    Rédacteur
    Avatar de lavazavio
    Homme Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 673
    Points : 2 412
    Points
    2 412
    Par défaut
    Bonjour,

    Pour passer directement un mot de passe avec smbpasswd, voila la solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #!/bin/sh
     
    smpasswd -a -s user <<EOF
    echo mot_de_passe
    echo mot_de_passe
    EOF
    Je te laisse adapter ceci avec ton script.
    N'oublie pas de mettre 2 lignes d'echo avec ton mot de passe car smbpasswd demande 2 fois le mot de passe pour vérification !
    Rédacteur et Modérateur rubriques Linux et Virtualisation
    Mes Articles
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux
    N'oubliez pas de consulter les FAQ virtualisation et les cours et tutoriels Virtualisation
    Man pages en français

  3. #3
    Futur Membre du Club
    Inscrit en
    Mai 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    Merci beaucoup pour cette réponse.
    Je test ceci rapidement, même si j'ai confiance

  4. #4
    Futur Membre du Club
    Inscrit en
    Mai 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    Bonjour,

    Je reviens à cette discution:
    apres avoir adapter ta solution à mon script, la console me renvoie une erreur:

    ./changementmdp.sh: line 21: syntax error: unexpected end of file

    J'ai tenter de trouver la solution moi même, mais là je suis perdu:

    Mon code au cas ou ça vous interesse:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    #!/bin/bash
     
    echo "Bonjour !!!"
    echo "Veuillez saisir le niveau de la classe dont vous voulez changer le mot de passe (3,4,5,6,idd5,idd4)"
    read classe
    echo "Veuillez saisir la lettre de la classe (A, B, C, D)"
    read lettre
    echo "Veuillez saisir le nouveau mot de passe"
    read mdp
     
    for lettr in R N
    	do
    		for num in `seq 1 9`
    			do smbpasswd -s "$classe""$lettre""$lettr""$num" <<EOF
    				echo "$mdp"
    				echo "$mdp"
    				EOF
    			done
    	done
    Merci à ceux qui prendrons la peine de me lire

  5. #5
    Futur Membre du Club
    Inscrit en
    Mai 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    Rebonjour,
    j'ai résolu le probleme, il suffisait de mettre le second EOF en tout début de ligne, le script s'éxecute sans probleme, par contre au moment du test aucun de mes mot de passe ne fonctionne, que ce soit l'ancien ou celui que je viens de retaper pour tester le programme...
    Merci d'avance et merci pour l'aide qui m'as deja été apportée

  6. #6
    Futur Membre du Club
    Inscrit en
    Mai 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    Apres moulte recherches sur des sites anglo et germanophone et apres avoir fouillé dans les profondeurs insondanble de mon ésprit, je propose cette solution à ceux qui voudrait mettre le meme script en oeuvre.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    #!/bin/bash
     
    echo "Bonjour !!!"
    echo "Veuillez saisir le niveau de la classe dont vous voulez changer le mot de passe (3,4,5,6,idd5,idd4)"
    read classe
    echo "Veuillez saisir la lettre de la classe (A, B, C, D)"
    read lettre
    echo "Veuillez saisir le nouveau mot de passe"
    read mdp
     
    for lettr in R N
    	do
    		for num in `seq 1 9`
    			do echo -e "$mdp\n$mdp" | (smbpasswd -a -s "$classe""$lettre""$lettr""$num")
    			done
    	done
    Merci en tout cas pour votre aide, à bientot

Discussions similaires

  1. gestion des mot de passe avec Access
    Par cyberbiker dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 07/09/2006, 15h42
  2. [conseil] script de génération de mots de passe
    Par spilliaert dans le forum Langage
    Réponses: 11
    Dernier message: 07/02/2006, 20h10
  3. [LG] Gestion de mot de passe
    Par kakaroto dans le forum Langage
    Réponses: 3
    Dernier message: 02/08/2005, 09h13
  4. Problème de mot de passe SAMBA
    Par greg49 dans le forum Réseau
    Réponses: 2
    Dernier message: 17/06/2005, 11h12
  5. Génération aléatoire et gestion de mots de passe
    Par thomine dans le forum Sécurité
    Réponses: 5
    Dernier message: 23/03/2005, 16h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo