Vra

Hoe kan ek pyp die nuwe wagwoord aan so smbpasswd Ek kan my installasie proses te outomatiseer.

Was dit nuttig?

Oplossing

Dankie aan Mark Ek het gevind dat die antwoord:

(echo newpassword; echo confirmNewPassword) | smbpasswd -s

BTW: (eggo oldpasswd; eggo newpasswd) | smbpasswd-s nie werk nie.

Ander wenke

Ek gebruik die volgende in een van my skrifte:

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

Met eggo:

-e: ontsnap rye, soos \ N

-n: moenie implisiete newline nie voeg aan die einde

Met smbpasswd:

-a: Voeg nuwe gebruiker

-s: stil

Probeer iets soos hierdie:

(echo oldpasswd; echo newpasswd) | smbpasswd -s

Gebruik hierdie echo 'somepassword' | tee - | smbpasswd -s

Dit is ongelukkig nie wenslik om twee redes: 1) As die gebruiker 'n kombinasie van '\ n "in die wagwoord gebruik sal daar 'n wanverhouding in die insette wees 2) of daar unix gebruikers op die stelsel, dan 'n gebruiker met behulp van die nut ps kan die wagwoord te sien

'n beter manier sou wees om die name in 'n lêer te sit en lees van die lêer en gebruik luislang pexpect om dit te lees, nie soos hieronder, maar die eenvoudige script is genoeg om te sien hoe om te gebruik 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)

dan probeer: ./smbpasswd.py USERNAME1 'f # @ (& * (_ \ n895'

Ek moes 'n nuwe Samba gebruiker in 'n Puppet 5.x Exec hulpbron en om verskeie redes een van die opsies gewerk skep. Gelukkig hierdie eerder dom-soek opdrag gewerk:

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

Wagwoord hier is natuurlik "swerwer".

die gebruik van óf pyplyne of verwysing .

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top