seekcy用户定期修改密码
背景:有些项目需要定期修改seekcy用户密码。如果修改密码不及时,导致密码过期,seekcy用户的定时任务则不生效。
解决方法:定期执行更换密码的脚本,需root用户执行
1、创建更换密码脚本
cdtouch rotate_seekcy_password.sh
2、创建索引文件
cd /rootmkdir logtouch seekcy_password_index
3、创建日志文件
cd /root/log/touch seekcy_password_change.log
4、编辑脚本文件rotate_seekcy_password.sh
cdvi rotate_seekcy_password.sh
脚本文件内容如下,全部复制粘贴到文件中,脚本中定义的两个密码可以自行设置。(密码需要保管好)
#!/bin/bash# 定义两个密码PASSWORD1="lU2:aI7%aE2]dA0%"PASSWORD2="cG0^gF1$dL6|dU0("# 定义密码索引文件INDEX_FILE="/root/log/seekcy_password_index"# 如果索引文件不存在,则初始化为 1if [ ! -f "$INDEX_FILE" ]; thenecho "1" > "$INDEX_FILE"fi# 读取当前密码索引current_index=$(cat "$INDEX_FILE")# 根据当前索引切换密码if [ "$current_index" -eq 1 ]; thenecho "seekcy:$PASSWORD2" | chpasswdecho "2" > "$INDEX_FILE"echo "seekcy 的密码已切换为 $PASSWORD2" >> /root/log/seekcy_password_change.logelseecho "seekcy:$PASSWORD1" | chpasswdecho "1" > "$INDEX_FILE"echo "seekcy 的密码已切换为 $PASSWORD1" >> /root/log/seekcy_password_change.logfi# 设置日志文件权限,仅允许 root 访问chmod 600 /root/log/seekcy_password_change.logchmod 600 "$INDEX_FILE"
5、赋予脚本执行权限,并执行脚本
chmod +x rotate_seekcy_password.sh./rotate_seekcy_password.sh
6、退出重新登录,看看是否已经更新了密码
7、设置定时任务,编辑 crontab 文件,添加定时任务以定期运行脚本
crontab -e#添加以下内容(例如,每 30 天执行一次):0 0 */30 * * /root/rotate_seekcy_password.sh
转载请注明作者和出处,并添加本页链接。
原文链接:
//svn.seekcy.com/810