2017-08-22 5 views
0

J'ai un simple fichier texte avec un nom d'utilisateur/mot de passe combo par ligne:Script pour créer des utilisateurs Samba à partir du fichier txt

user1 [email protected] 
user2 [email protected] 

J'ai utilisé ce script simple pour importer ma liste d'utilisateurs sur le côté Linux:

#!/bin/bash 
while read u1 p1 
do 
    echo Username: $u1 Password: $p1 created 
    adduser $u1 
    echo $p1 | passwd --stdin "$u1" 
echo Username: $u1 Password: $p1 created 
done < userlist.txt 

Ce script peut-il être modifié afin que je puisse ajouter cette même liste d'utilisateurs à Samba? La chose sur laquelle je trébuche est smbpasswd -a demande immédiatement un mot de passe et je ne sais pas comment le gérer dans un script.

Répondre

0

Donnez ce un coup:

#!/bin/bash 
case "[email protected]" in 
    add ) for user in `cat user.txt` 
    do 
     smbpasswd -a $user 
     echo samba_password | passwd --stdin $user 
    done;; 
    *) echo"Please enter an argument....";; 
+0

On dirait que cela devrait fonctionner, mais quand je le lance, je reçois l'erreur suivante: 'la ligne 9: erreur de syntaxe: fin inattendue de fichier' – Chris