有時需要進行驗證、登入等操作,基於安全理由密碼等資料不應該顯示及儲存
但應該如何隱藏文字 ?
執行 Shell Script 指令非常簡單
1 | command --user= 'abc' --password= '123' |
但如字面上 password 的資料便會光明正大地顯示在畫面上,而且還會記錄在 bash history 中
雖然 bash history 是可以清除,但若有漏網之魚,後果可能相當嚴重
有些指令為避免顯示及儲存的資料,使用互動方式讓使用者輸入資料
1 2 3 | command user : abc password : |
Shell Script 如使用互動方式傳入參數會使用 read 指令,但 read 並不能隱藏輸入的文字
這時便借用 stty 來達成任務
1 2 3 4 5 6 | #!/bin/sh read -p 'user : ' user stty - echo read -p 'password : ' password stty echo echo '' |
事實上使用 stty -echo 之後輸入指令同樣可以隱藏,但使用者連自己正在輸入甚麼也看不到
沒有留言 :
張貼留言