automation - swat - Contraseña de tubería para smbpasswd
samba debian wiki (6)
¿Cómo puedo conectar la nueva contraseña a smbpasswd para poder automatizar mi proceso de instalación?
Gracias a Mark encontré la respuesta:
(echo newpassword; echo confirmNewPassword) | smbpasswd -s
BTW: (echo oldpasswd; echo newpasswd) | smbpasswd -s no funciona.
Pruebe algo como esto:
(echo oldpasswd; echo newpasswd) | smbpasswd -s
usando cualquiera de las tuberías o redirección .
Uso lo siguiente en uno de mis scripts:
echo -ne "$PASS/n$PASS/n" | smbpasswd -a -s $LOGIN
Con eco:
-e: secuencias de escape, como / n
-n: no agregue nueva línea implícita al final
Con smbpasswd:
-a: agregar nuevo usuario
-s: silencioso
Desafortunadamente, esto no es deseable por dos razones: 1) si el usuario usa una combinación de ''/ n'' en la contraseña, habrá una falta de coincidencia 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 leer del archivo 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 [email protected]:.'')
#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 intente: ./smbpasswd.py userName1 ''f # @ (& * (_ / n895''
Use este echo ''somepassword'' | tee - | smbpasswd -s
echo ''somepassword'' | tee - | smbpasswd -s