新しいパスワードを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. 継続的な配備におけるパスワードの管理
- 4. Subversion管理者パスワード
- 5. Gitユーザーとパスワードの管理
- 6. Asp.netパスワード管理の変更
- 7. ユニオンプラットフォーム:管理パスワードの保護
- 8. パスワード管理を解決する方法 - 設定のパスワード
- 9. teeへの配管時のstdoutの強制的なラインバッファリング
- 10. ローカルdb2データベースのデフォルト管理者パスワード
- 11. クライアントの管理ユーザー名とパスワード
- 12. カスタムMagento管理者パスワードの暗号化
- 13. Magentoのローカルインストール - 管理者パスワードが
- 14. PHPへのMySQLパスワード()関数
- 15. スクリプトへの電子メールの配管に関する問題
- 16. オブジェクトへのポインタの配列を管理するには?
- 17. awkへの配管が掛かります
- 18. Windows Small Business Server 2008 - ローカル管理者パスワード
- 19. のImageMagickと配管
- 20. 配管出力
- 21. パスワードなしのec2インスタンスへのscp(セキュアコピー)
- 22. アスタリスクへの文字列、パスワードのマスキング
- 23. AWS:CodeDeployステップ中のEC2 Windowsパスワードへのアクセス
- 24. ソース管理へのアクセス
- 25. SonataUserAdminBundle:管理アクションへのリンク
- 26. パスワード文字列への文字列
- 27. 剣道グリッド配管
- 28. 配管構造エラー
- 29. 配管、合成、カリング
- 30. 配管用unixコマンド
-1これはまさにマークの答えです。変数名を変えるだけです。 – JorgeeFG
+1をJorgeeFGにオフセットする。私はあなたが密接に読んでいるならば、新しい変数名は区別を含んでいると思います。マークの答えは、smbpasswdが古いパスワードと新しいパスワードを期待していることを意味しますが、この回答はsmbpasswdがパスワードとパスワードの確認を期待していることを示しています。 2番目の解釈は正しいので、私はマークの答えがこれよりも役に立たないと感じます。 – Matt