Forum Linux.suse administration réseau avec samba

Posté par  .
Étiquettes : aucune
0
10
mar.
2008
salut,
j'ai un problème dans la création d'un script shell pour l'ajout d'utilisateur samba apartir d'un fichier texte
Le problème se situe exactement en exécutant la commande smbpasswd
pouvez-nous aidez
  • # Un exemple de script qui marche

    Posté par  (site web personnel) . Évalué à 2.

    Il doit te manquer une option quelque part, il faudrait nous montrer ton script pour en dire plus.

    En attendant, un exemple de script opérationnel :


    #!/bin/bash

    # le fichier doit comporter un nom de compte et un mot de passe par ligne
    # separes par un blanc

    /bin/cat ./liste |

    # lecture ligne a ligne

    while
    read nom mdp
    do
    echo -e "$mdp\n$mdp\n" | /usr/bin/smbpasswd -s -a $nom
    done

    # EoF


    Ne pas oublier que tes comptes utilisateurs doivent déjà être déclarés au niveau du système (voir la commande newusers pour faire un ajout en masse).
    • [^] # Re: Un exemple de script qui marche

      Posté par  . Évalué à 1.

      merci pour me répondre, et voila mon script:
      #!/bin/bash
      fichier="user.txt"
      cat $fichier|while true
      do
      # lecture ligne par ligne du fichier
      read ligne
      if [ "$ligne = "" ]
      then
      break
      fi
      # login de l'utilisateur
      login=$1
      # mot de passe de l'utilisateur
      mdp=$2
      #nom complet de l'utilisateur
      nom=$3
      #groupe de l'utlisateur
      groupe=$4
      if [ -d "/home/$groupe" ]
      then
      testg=1
      else
      groupadd $groupe
      mkdir $groupe
      fi
      if [ -d "/home/$groupe/$login" ]
      then
      testl=1
      else
      mkdir /home/$groupe/$login
      chown /home/$groupe/$login $login
      useradd -g $groupe -d /home/$groupe/$login $login
      #le probleme réside dans cette ligne ,il ne configure pas les mots de passe samba
      smbpasswd -a $login $mdp
      fi
      done
      #EoF
      j'attends vos réponse le plus vite
      • [^] # Re: Un exemple de script qui marche

        Posté par  (site web personnel) . Évalué à 2.


        #le probleme réside dans cette ligne ,il ne configure pas les mots de passe samba
        smbpasswd -a $login $mdp


        Il te manque l'option -s avec une commande echo qui va bien pour que le mot de passe soit bien passé en paramètre.

        Voir le script que j'ai donné plus haut et la page de man ou la documentation de Samba pour plus de détails.
        • [^] # Re: Un exemple de script qui marche

          Posté par  . Évalué à 1.

          Merci c'est trop gentille.
          Je veut essayer et je vous dit le resultat.
          A bientot
          • [^] # version avec expect

            Posté par  . Évalué à 1.

            # "$" must be escaped or shell will think it is its variables...
            cat <<EOF | expect -f - "$USER" "$PWD"
            spawn smbldap-passwd [lindex \$argv 0]
            set password [lindex \$argv 1]
            expect "password:"
            send "\$password\r"
            expect "password:"
            send "\$password\r"
            expect eof
            EOF

            faut mettre ce qu'il faut dans les 2 variables USER et PWD avant...
        • [^] # Re: Un exemple de script qui marche

          Posté par  . Évalué à 1.

          bonjour:
          On a executé la ligne de commande:
          echo -e"$mdp\n$mdp\n" | /usr/bin/smbpasswd -s -a $login
          mais elle ne s'exécute pas et ce message apparait :
          Mismatch - password unchanged.
          Unable to get new password.
          S'il ne vous dérange pas,est-ce que vous pouvez nous aidez.
          Merci on vous attend...

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.