除了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非交互方式修改密码避免命令历史能查看到密码的方法
原创
©著作权归作者所有:来自51CTO博客作者碧云天的原创作品,请联系作者获取转载授权,否则将追究法律责任

提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
svn改密码
修改svn的密码不是在客户端容易搞定的,可以进到svn的服务器的安装目录下,打开./confg/passwd文件,如图,用户名=密码
职场 svn 休闲 修改密码 修改svn的密码 -
springshell 不交互 spring-session-core
前言之前一篇spring-session改造总结主要关注基于spring-session-core实现自定义的session存储功能。本文主要关注session事件的通知。 1、事件的产生由于在程序中主要使用HttpSessionListener,而该接口只有created和destoryed两个接口,所以根据需要,只需关注这两个接口,而其它的session事件可以根据需要添加。 由于sessi
springshell 不交互 spring-session 事件通知 session create session destroy