2010-07-24 4 views
6

Je veux faire de créer un mot de passe samba automatisé, mais cette commande ne fonctionne pas:écho smbpasswd par --stdin ne fonctionne pas

echo "passwd"|smbpasswd -a -s $user 

Il montre cette erreur:

Mismatch - password unchanged. Unable to get new password.

pourrait S'il vous plaît suggérer une option pour rendre mon script automatisé?

Répondre

12

Vous devez répéter le mot de passe, "pour confirmation", pour ainsi dire.

printf "passwd\npasswd\n" | smbpasswd -a -s $user 

devrait fonctionner.

+0

d'accord avec votre point, mais pourriez-vous s'il vous plaît dire en bref whatz une fonction de printf ici – sunil

+0

'printf' est une commande shell spécifiée dans IEEE Std 1003.2-1992 (' 'POSIX.2 '') qui est plus puissant que' echo' car il vous permet facilement de spécifier les options de formatage - 'man 1 printf' (à ne pas confondre avec' man 3 printf' qui documente la fonction similaire dans la bibliothèque standard C) vous donnera tous les détails. –