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

Shell et commandes GNU Discussion :

[FTP] script bash pour créer des utilisateurs à partir d'un CSV


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut [FTP] script bash pour créer des utilisateurs à partir d'un CSV
    Bonjour,

    je tente de créer un script qui me permettrai de générer des utilisateurs depuis une liste.

    Je suis sur debian 8 avec mon serveur ftp est vsftp.

    Je précise que si je fait les commandes à la main je n'est pas de problème, l'utilisateur fonctionne normalement.

    Le format de la liste est le suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    user1:password1
    user2:password2
    user3:password3

    J'ai réussie à créer un script, il arrive à créer les utilisateurs mais les mot de passe de ne marche pas.

    Je pense qu'il y a un problème avec mes variable. Le nom d'utilisateur semble bon, j'ai essayer de faire des echo des variable et je ne vois rien de problématique.

    Voici le code bash:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    cd upload/
    while IFS=":" read var1 var2
    do
    varname="$var1"
    varpassword="$var2"
    openssl passwd -1 -noverify $varpassword| htpasswd -i -p /etc/vsftpd/ftpd.passwd $varname
    mkdir /ftp/$varname
    mkdir /ftp/$varname/document
    chown -R vsftpd:nogroup /ftp/$varname/
    chmod 555 /ftp/$varname
    chmod 777 /ftp/$varname/document
    done < liste.csv

    Voici l'intérieur du fichier ftpd.passwd

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    user1:$1$8OrEnX6c$MaI7gNgOZ2au2lceLPbYM.
    user2:$1$pDwZddLz$8VztVvkg6i/OJVJvQHAnf.

    Lorsque je tente de me connecter j'ai l'erreur suivante:
    Nom : Capture.PNG
Affichages : 1394
Taille : 18,1 Ko


    Si quelqu'un a une solution ou un idée je suis preneur

    Merci.
    Dernière modification par N_BaH ; 29/03/2019 à 16h50. Motif: éclaircissement du titre

  2. #2
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 408
    Par défaut
    Bonjour,
    Peux-tu nous donner le résultat de la commande:

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    voici le résultat de la commande:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    root@SRV-GRR:/var/www/html/ftp/utilisateurs/upload# file liste.csv
    liste.csv: ASCII text, with CRLF line terminators
    $
    Dernière modification par ProgElecT ; 29/03/2019 à 17h36.

  4. #4
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 408
    Par défaut
    Ok, le souci vient de ce fichier qui est au format dos et non unix...

    Soit le ré-enregistrer au format unix, soit un petit dos2unix dessus avant.

    Le mieux est de corriger la source.

    sinon, la methode bestiale (pas testé) :
    modifier la ligne:
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    done < <(sed 's/\r//' liste.csv)
    en respectant l'espace entre les 2 chevrons.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Super merci, ça marche !

  6. #6
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 716
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 716
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while IFS=':' read name password
    directement (pas besoin de variables intermédiaires).

    d'ailleurs, varname, c'est en fait nom de variable, et pas variable nom.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2010] Impossible de créer des relations avec une table liée à Outlook
    Par lagratteCchouette dans le forum Modélisation
    Réponses: 4
    Dernier message: 26/01/2014, 22h44
  2. Creer des feuilles avec une liste de nom
    Par ericmise dans le forum Excel
    Réponses: 3
    Dernier message: 27/07/2012, 11h57
  3. Colorier des routes avec une liste excel
    Par Bobvache dans le forum IGN API Géoportail
    Réponses: 3
    Dernier message: 12/02/2012, 23h43
  4. Script pour créer des utilisateurs virtuels à une application J2EE
    Par abdimen dans le forum Développement Web en Java
    Réponses: 0
    Dernier message: 27/04/2011, 14h52
  5. [DisplayTag] Affichage d'une partie des éléments d'une liste sur un critère
    Par jaguars_s dans le forum Taglibs
    Réponses: 4
    Dernier message: 30/07/2010, 19h15

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