Linux

如何安全地將使用者輸入的密碼放入文件中?

  • March 12, 2013

有什麼方法可以將使用者輸入的密碼放入文件中(在 Unix 中或在期望中)。

read -s -p "enter password" input 
echo $input > file

上面的程式碼安全嗎?

我想在我的期望腳本中使用該文件作為密碼的輸入

因為我已經嘗試過了,我可以看到螢幕上顯示的密碼只有幾秒鐘,這個期望程式碼。

set timeout 30
stty -echo
send_user -- "Password for $username :"
expect_user -re "(.*)\n"
set timeout .000000001
set timeout 30
send_user "\n"
set timeout 30
set password $expect_out(1,string)
send -- "$password\r"

誰可以讀取該文件將獲得密碼。這包括root,擁有文件的使用者(或冒充他們的人),以及(取決於權限)組中的使用者甚至每個人。任何有幾分鐘單獨使用機器的人都可以使用 LiveCD/LiveUSB 重新啟動它並獲取文件。還有一長串其他可能性。這是不安全的。可能足以用於休閒用途,但不適用於任何嚴重的事情。並考慮“我認為這並不重要”是不夠的,需要考慮任何可能的特權使用鏈,其他站點使用相同的密碼(或以相同方式建構的密碼),……

引用自:https://unix.stackexchange.com/questions/67634