码迷,mamicode.com
首页 > 系统相关 > 详细

Linux/Unix非交换方式修改密码避免命令历史能查看到密码的方法

时间:2018-10-17 12:18:29      阅读:295      评论:0      收藏:0      [点我收藏+]

标签:chpasswd   inux   his   code   shel   hp-ux   grep   操作系统   ola   

除了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,如果保存命令历史的话,就把命令历史的明文密码,以*号隐藏。

Linux/Unix非交换方式修改密码避免命令历史能查看到密码的方法

标签:chpasswd   inux   his   code   shel   hp-ux   grep   操作系统   ola   

原文地址:http://blog.51cto.com/333234/2300993

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!