Din păcate, acest lucru nu este de dorit din două motive:
1) dacă utilizatorul folosește o combinație de '\ n' în parolă, va exista o nepotrivire în intrare
2) dacă există utilizatori unix în sistem, atunci un utilizator care utilizează utilitarul ps poate vedea parola
O modalitate mai bună ar fi să punem numele într-un fișier și să citim din fișier și să folosim Python Pexpect pentru a le citi, nu ca mai jos, dar scriptul simplu este suficient pentru a vedea cum să folosești 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)
then try: ./smbpasswd.py userName1 'f#@(&*(_\n895'