Linux/Unix非交互方式修改密碼避免命令歷史能查看到密碼的方法

除了Solaris,HP-UX不支持chpasswd這種非交互方式修改帳號密碼以外,不少Linux/Unix都正常,好比:.Redhat、CentOS、Suse、 Unbuntu和AIX,可是用chpasswd這種方式修改密碼有個缺陷,就是可能命令歷史中存在密碼明文(若是會記錄命令歷史的話)。經過網上查詢,設置HISTCONTROL=ignorespace,這樣若是命令前面加上空格的話,就不會把命令記錄到命令歷史文件中,可是實際測試,有很多操做系統或者shell是不支持這個變量的,所以還得想其餘方法。
通過測試,採用非交互的方式修改密碼(通常用於腳本修改密碼),能夠在相似echo xll:'12345@!@#¥%' |sudo chpasswd命令執行完成以後,再執行sed -i -r 's/(^echo[^:]+:)([^|]+)(|sudo chpasswd)/\1'**********'\3/g'   `grep -l chpasswd ~/.*history`這樣就能夠保證,不一樣的shell,若是保存命令歷史的話,就把命令歷史的明文密碼,以*號隱藏。
相關文章
相關標籤/搜索