Smbpasswd करने के लिए पासवर्ड पिपिंग

मैं smbpasswd को नया पासवर्ड कैसे पाइप कर सकता हूं ताकि मैं अपनी स्थापना प्रक्रिया को स्वचालित कर सकूं।

0
ro fr bn

6 उत्तर

मार्क के लिए धन्यवाद मुझे जवाब मिला:

(echo newpassword; echo confirmNewPassword) | smbpasswd -s

बीटीडब्ल्यू: (echo oldpasswd; गूंज newpasswd) | smbpasswd -s काम नहीं करता है।

0
जोड़ा
-1 यह बिल्कुल मार्क का जवाब है, बस परिवर्तनीय नाम बदल रहा है।
जोड़ा लेखक JorgeeFG, स्रोत
JorgeeFG ऑफसेट करने के लिए +1; मुझे लगता है कि यदि आप बारीकी से पढ़ते हैं तो नए चर नामों में एक भेद होता है। मार्क के जवाब का तात्पर्य है कि smbpasswd पुराने पासवर्ड और एक नया उम्मीद कर रहा है, लेकिन इस जवाब का तात्पर्य है कि smbpasswd पासवर्ड और पासवर्ड पुष्टिकरण की अपेक्षा कर रहा है। दूसरी व्याख्या सही है, और इसलिए मुझे लगता है कि मार्क का जवाब इस से कम सहायक है।
जोड़ा लेखक Matt, स्रोत

इस तरह कुछ कोशिश करें:

(echo oldpasswd; echo newpasswd) | smbpasswd -s
0
जोड़ा
0
जोड़ा
यह बस सवाल का जवाब नहीं देता है।
जोड़ा लेखक markrian, स्रोत

मैं अपनी स्क्रिप्ट में से एक में निम्न का उपयोग करता हूं:

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

गूंज के साथ:

-e: बचने के अनुक्रम, जैसे \ n

-n: अंत में अंतर्निहित न्यूलाइन न जोड़ें

Smbpasswd के साथ:

-a: नया उपयोगकर्ता जोड़ें

-s: चुप

0
जोड़ा
@Michael samba.org/samba/docs/man/ के अनुसार manpages/smbpasswd.8.html इसका मतलब है "चुप" (कोई संकेत नहीं) और "stdin से पढ़ें" (बजाय/dev/ptty)
जोड़ा लेखक Bruno De Fraine, स्रोत
smbpasswd? एसएस के लिए खड़ा है? पासवर्ड संकेत के लिए stdin का उपयोग करें ?, नहीं? चुप?
जोड़ा लेखक Michael, स्रोत

यह दुर्भाग्य से दो कारणों से वांछनीय नहीं है: 1) यदि उपयोगकर्ता पासवर्ड में '\ n' के संयोजन का उपयोग करता है तो इनपुट में एक मेल नहीं होगा 2) यदि सिस्टम पर यूनिक्स उपयोगकर्ता हैं, तो यूटिलिटी पीएस का उपयोग करने वाला उपयोगकर्ता पासवर्ड देख सकता है

एक बेहतर तरीका है कि नामों को फाइल में डालें और फ़ाइल से पढ़ें और उन्हें पढ़ने के लिए पायथन pexpect का उपयोग करें, नीचे की तरह नहीं, लेकिन सरल स्क्रिप्ट पर्याप्त है कि 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'

0
जोड़ा

Use this echo 'somepassword' | tee - | smbpasswd -s

0
जोड़ा
धन्यवाद, fwiw यह एकमात्र वाक्यविन्यास है जिसे मैं डॉकरफ़ाइल में काम कर सकता हूं: रन पास = myrootpassword; echo $ {PASS} | टीई - | smbpasswd -a -s
जोड़ा लेखक jamshid, स्रोत
मैंने यह जवाब एकमात्र सिंटैक्स के रूप में भी उपयोगी पाया जो मैं एक कठपुतली निष्पादन संसाधन में काम कर सकता था; एक माता पिता के साथ शुरू होने वाला दृष्टिकोण असफल रहा क्योंकि कठपुतली को आदेश नहीं मिला "(गूंज"। धन्यवाद!
जोड़ा लेखक dbrewer, स्रोत