簡體   English   中英

如何使用busybox和openssl更改腳本中的用戶密碼?

[英]How do you change a user password in a script with busybox and openssl?

我需要將用戶帳戶和密碼同步到安裝了busyboxopenssl的系統上的外部源。 當外部源告訴我的系統更新憑據時,如何在腳本中更改用戶的密碼? 我將以純文本密碼。

這必須是自動化的,從我可以告訴busybox passwd是交互式的,我不特別想為passwd寫一個expect-type腳本,如果這是可能的話。 看起來openssl可以生成密碼哈希( openssl passwd -1 -salt“abcdefgh”{password} ),但是我必須直接修改/ etc / shadow嗎?

Busybox提供了這些命令。

您可以編寫這樣的小腳本來更新密碼。 將以下文本放在一個文件中並執行它。 它會更改您的密碼。

#!/ bin / sh的
passwd << EOF
<舊密碼>
<新密碼>
<新密碼>
EOF

原來版本的busybox有chpasswd源代碼 )。 chpasswd在stdin上使用冒號分隔的用戶名:密碼。 我不知道我是否可以更新系統上的busybox,但我會留下這個答案以防其他人來看。

從busybox文檔:

chpasswd
chpasswd [--md5|--encrypted]

Read user:password from stdin and update /etc/passwd

Options:

        -e,--encrypted  Supplied passwords are in encrypted form
        -m,--md5        Use MD5 encryption instead of DES

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM