Retourner aux forums || Retourner au forum Linux.suse

Linux.suse : administration réseau avec samba

Posté par nesrine () le 10 mars 2008
0
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

> Lire le message (6 commentaires, moyenne: 1,2).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

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

Un exemple de script qui marche

Posté par Ellendhel () le 10/03/2008 à 13:34. (lien). É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 nesrine () le 10/03/2008 à 14:59. (lien). É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 Ellendhel () le 10/03/2008 à 15:58. (lien). É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 nesrine () le 10/03/2008 à 17:43. (lien). Évalué à 1.

        Merci c'est trop gentille.
        Je veut essayer et je vous dit le resultat.
        A bientot

        • [^]version avec expect

          Posté par zx81 () le 10/03/2008 à 18:17. (lien). É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 nesrine () le 13/03/2008 à 10:31. (lien). É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...

Revenir en haut de page || Retourner aux forums || Retourner au forum Linux.suse