新しいパスワードをsmbpasswdにパイプすることで、インストールプロセスを自動化できます。smbpasswdへのパスワード配管
答えて
を:
(echo newpassword; echo confirmNewPassword) | smbpasswd -s
はBTW:(oldpasswdエコー; newpasswdエコー)| smbpasswd -sは動作しません。
このような何か試してみてください:マークのおかげで、私は答えを見つけた
(echo oldpasswd; echo newpasswd) | smbpasswd -s
私は私のスクリプトのいずれかで次のコマンドを使用します。エコーで
echo -ne "$PASS\n$PASS\n" | smbpasswd -a -s $LOGIN
:
-e:\のように、エスケープシーケンスのn
-n:暗黙的に改行を追加しないでください
-a:最後のsmbpasswdで
で新しいユーザーを追加
-s:サイレント
または 'echo -ne" $ PASS \ n "|ティー - | smbpasswd -a -s $ LOGIN'? –
smbpasswdの-sは「パスワードのプロンプトに標準入力を使用」を意味し、「サイレント」ではありません。 – Michael
@Michaelはhttps://www.samba.org/samba/docs/man/manpages/smbpasswd.8.htmlに従って "/dev/pttyの代わりに "サイレント"(プロンプトなし)と "stdinからの読み込み" –
これは、残念ながら二つの理由から望ましくない:ユーザーがパスワードでは「\ n」の組み合わせを使用している場合は、入力 2の不一致があるでしょう) 1)の場合システムにUNIXユーザーがいる場合、ユーティリティpsを使用するユーザーはパスワードを見ることがあります
より良い方法は、ファイルに名前を入れてファイルから読み込み、それらを読むためにpython 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)
は、試してみてください。./smbpasswd.py USERNAME1 'のF#の@を(& *(_ \ n895'
- 1. python3とsmbpasswdパッケージ
- 2. Pythonインタプリタへのパイプ配管
- 3. opensslへの入力パラメータの配管
- 4. Pythonスクリプトへのバッチファイル出力の配管
- 5. JTextArea管理者のパスワード管理
- 6. Subversion管理者パスワード
- 7. Couchbase管理者パスワードとクラスタ管理者パスワード
- 8. 継続的な配備におけるパスワードの管理
- 9. Asp.netパスワード管理の変更
- 10. Gitユーザーとパスワードの管理
- 11. Magentoの管理者パスワード
- 12. ユニオンプラットフォーム:管理パスワードの保護
- 13. Djangoの管理者は、パスワード
- 14. プログラムへのパスワード
- 15. ユーザーとパスワード、Glassfish管理コンソール
- 16. Apache SOLR変更管理パスワード
- 17. パスワード管理を解決する方法 - 設定のパスワード
- 18. クライアントの管理ユーザー名とパスワード
- 19. Umbraco:管理者パスワードの取得
- 20. パスワードウィジェットとパスワードDjango管理者のハッシュ
- 21. カスタムMagento管理者パスワードの暗号化
- 22. Azure Global管理者アカウントのパスワード変更
- 23. Django contrib adminデフォルトの管理者とパスワード
- 24. PerlのDancer2認証パスワード管理
- 25. ローカルdb2データベースのデフォルト管理者パスワード
- 26. Magentoのローカルインストール - 管理者パスワードが
- 27. teeへの配管時のstdoutの強制的なラインバッファリング
- 28. オブジェクトへのポインタの配列を管理するには?
- 29. スクリプトへの電子メールの配管に関する問題
- 30. のSQLPLUS配管 -
-1これはまさにマークの答えです。変数名を変えるだけです。 – JorgeeFG
+1をJorgeeFGにオフセットする。私はあなたが密接に読んでいるならば、新しい変数名は区別を含んでいると思います。マークの答えは、smbpasswdが古いパスワードと新しいパスワードを期待していることを意味しますが、この回答はsmbpasswdがパスワードとパスワードの確認を期待していることを示しています。 2番目の解釈は正しいので、私はマークの答えがこれよりも役に立たないと感じます。 – Matt