简介:Linux 系统是使用特别广泛的操作系统,它功能强大、可靠,稳定性好,还很灵活,伸缩性也极大,因此成了企业级应用的关键基础。但是,Linux 系统的安全问题在信息安全领域那可是相当重要和基础的,账户和密码差不多就是操作系统安全的头一道防线。要是密码泄露了,就跟房门钥匙被人偷了一样危险。系统要是被入侵了,不只是使用者的账户会受影响,系统里所有的资料和文档都可能被偷走或者弄坏,会带来特别大的损失。所以呢,得用一些必要的技术办法,逼着用户用强度高的密码,还得让他们定期改密码,定期检查系统里账号合不合法,及时把没用的账户删掉,别让人把超级用户给改了,这样才能保证系统用户账号和密码的安全。
本文主要讲的是使用Linux 系统 Shell 脚本编程里怎么编写服务器用户密码自动化修改管理程序,能通过 Shell 脚本程序把多台服务器的帐号密码批量修改了。详细的内容请看下面。
一、登录系统
1.登录Linux系统
2.查看Linux版本信息
二、程序设计思路
1.需求分析
说明:企业中的Linux服务有好几百台,定期修改账号密码的过程费时费力,因此有必要通过Shell脚本设计一款工具实现多台服务器账号密码批量自动化修改。
2.程序设计步骤
(1)编写服务器旧的帐号密码文件
执行指令# vim user_pass_old.txt
内容格式:IP User Password Port
(2)编写程序user_pass.sh
(3)授权程序user_pass.sh
(4)安装expect软件包
说明:由于CentOS系统默认情况下是不支持这个命令mkpasswd命令的,需要安装个expect软件包。
执行指令# yum install -y expect
(5)执行程序user_pass.sh
备注:执行上述修改系统帐户密码程序会自动逐个ssh远程服务器,如果使用user_pass_old.txt文件的账号密码等顺利登陆,则执行密码修改;如果无法登陆远程服务器(由于远程服务器关机或者使用帐号密码不正确,则自动退出)。
(6)查看服务器新的帐号密码文件
执行指令# cat user_pass_new.txt查看生成的密码文件
执行指令# ssh root@远程服务器IP地址 用新密码登陆服务器