回答
stty_orig=`stty -g` # save original terminal setting.
stty -echo # turn-off echoing.
read passwd # read the password
stty $stty_orig # restore terminal setting.
該命令將讀入變種PWD從stdin(與回波禁用):
IFS= read -s -p Password: pwd
取消設置IFS將允許前緣和後在密碼空白(這在一些環境中支持,因此最好在您的腳本輸入用戶憑據期間支持它)
要驗證前導/尾隨空白處理是否正確,您可以使用:
echo -n "$pwd" | hexdump -C
注意:不要使用真正的密碼,因爲它會轉儲到控制檯!
HT:Ron DuPlain有關IFS未定位的更多信息。
如果您需要獲取passwd以作爲參數提供給程序,那麼請使用unicorns建議來關閉回聲。
在腳本中進行passwd檢查不起作用 - 如果用戶可以執行bash腳本,他們也有權讀取它並查看密碼。
如果您只想讓擁有passwd的人運行程序,那麼安全的方法是創建一個擁有該程序的新用戶帳戶,並使用'sudo'腳本以該用戶身份運行程序 - 它會以安全的方式提示用戶密碼。
可能會預先計算密碼的校驗和,並將其存儲在腳本中而不是明文中,並根據輸入的校驗和來測試。儘管如此,它仍然可以被打破,但不那麼容易。 – 2010-04-16 18:11:29
在這種情況下,您只需簡單地將腳本複製到您有寫入權限的地方,然後取消檢查。 – 2010-04-16 18:21:56
- 1. 需要sudo密碼的Bash腳本
- 2. 如何讓Netbeans不要求主密碼?
- 3. 如何讓git bash在你做拉/推請求時要求密碼?
- 4. bash腳本需要輸入任何輸入
- 5. 在bash腳本中自動輸入密碼
- 6. 使Windows XP要求輸入密碼
- 7. Capistrano部署要求輸入密碼
- 8. 第一個bash腳本幫助(如何輸入用戶名密碼)
- 9. 在運行csh腳本時讓python輸入密碼
- 10. 如何在BATCH中輸入bash密碼輸入?
- 11. bash腳本shell輸入
- 12. PowerShell v1腳本提示輸入密碼
- 13. 如何跳過要求輸入密碼的結構連接?
- 14. SSH:不要在shell腳本中提示輸入密碼
- 15. 即使密碼在腳本中,SFTP提示輸入密碼
- 16. 在bash腳本中提示MySQLDump密碼?
- 17. perl bash腳本輸出輸入
- 18. 如何在腳本中輸入密碼和用戶名
- 19. 如何移至UNC位置並通過腳本輸入密碼?
- 20. AWS要求我輸入密鑰的密碼:EC2
- 21. Passworded SSH密鑰突然不*要求我輸入密碼
- 22. bitbucket:設置SSH密鑰,但仍然要求輸入密碼
- 23. 如何讓我的bash腳本工作?
- 24. 如何讓輸入文本輸入到json請求?
- 25. 受密碼保護的ssh密鑰 - 一次只被要求輸入密碼
- 26. 如何讓bash在輸出中插入'
- 27. Bash腳本:不需要的輸出
- 28. bash腳本給不需要的輸出
- 29. Java代碼電子郵件不工作要求輸入密碼
- 30. 如何將腳本輸入bash並將輸出沉默?
投票結束時不清楚,請指定您希望密碼輸入的方式與其他輸入不同。沒有呼應問:http://stackoverflow.com/questions/3980668/how-to-get-a-password-from-a-shell-script-without-echoing – 2016-06-29 21:26:03