Linux
如何安全地將使用者輸入的密碼放入文件中?
有什麼方法可以將使用者輸入的密碼放入文件中(在 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 重新啟動它並獲取文件。還有一長串其他可能性。這是不安全的。可能足以用於休閒用途,但不適用於任何嚴重的事情。並考慮“我認為這並不重要”是不夠的,需要考慮任何可能的特權使用鏈,其他站點使用相同的密碼(或以相同方式建構的密碼),……