Pregunta

¿Cómo puedo canalizar la nueva contraseña a smbpasswd para poder automatizar mi proceso de instalación?

¿Fue útil?

Solución

Gracias a Mark encontré la respuesta:

(echo newpassword; echo confirmNewPassword) | smbpasswd -s

POR CIERTO:(echo de contraseña anterior;echo newpasswd) | SMBPassWD -S no funciona.

Otros consejos

Utilizo lo siguiente en uno de mis scripts:

   echo -ne "$PASS\n$PASS\n" | smbpasswd -a -s $LOGIN

Con eco:

-e:secuencias de escape, como

-norte :no agregue una nueva línea implícita al final

Con smbcontraseña:

-a :añadir nuevo usuario

-s :silencioso

Pruebe algo como esto:

(echo oldpasswd; echo newpasswd) | smbpasswd -s

Utilizar estaecho 'somepassword' | tee - | smbpasswd -s

Desafortunadamente esto no es deseable por dos razones:1) Si el usuario usa una combinación de ' n' en la contraseña, habrá un desajuste en la entrada 2) Si hay usuarios de Unix en el sistema, entonces un usuario que usa la utilidad PS puede ver la contraseña

Una mejor manera sería poner los nombres en un archivo y leerlos y usar Python pexpect para leerlos, no como a continuación, pero el script simple es suficiente para ver cómo usar pexpect.

#!/usr/bin/python
#converted from: http://pexpect.sourceforge.net/pexpect.html
#child = pexpect.spawn('scp foo myname@host.example.com:.')
#child.expect ('Password:')
#child.sendline (mypassword)
import pexpect
import sys
user=sys.argv[1]
passwd=sys.argv[2]
child = pexpect.spawn('/usr/bin/smbpasswd -a '+str(user))
child.expect('New SMB password:')
child.sendline (passwd)
child.expect ('Retype new SMB password:')
child.sendline (passwd)

entonces intenta:./smbpasswd.py nombre de usuario1 'f#@(&*(_ 895'

Tuve que crear un nuevo usuario de Samba en un recurso Puppet 5.x Exec y por varias razones nada de lo anterior funcionó.Afortunadamente, este comando que parece bastante tonto funcionó:

yes vagrant|head -n 2|smbpasswd -a -s vagrant

La contraseña aquí es, por supuesto, "vagrant".

usando cualquiera de los dos tuberías o redirección.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top