Linux采用EOF实现一键改密Shell脚本

Linux环境的Shell中通常将EOF与<<结合使用,表示后续的输入作为子命令或子Shell的输入,直到遇到EOF为止,再返回到主调Shell,其特性可用于写入文件执行某些自定义操作等场景

所属分类 Linux

相关标签 脚本密码Shell

EOF自定义终止符

EOF,END Of File的缩写,自定义终止符,在Shell脚本非常常见的语法格式。

一般情况EOF会与重定向符号组合使用,如:<< EOF 接下来的内容为标准输入。

EOF配合几中重定向符号可以实现众多功能,如写入文件、追加写入、执行命令等。

# 开始
<<EOF        
# 中间的命令
# 结束
EOF
  • EOF 和 << 组合之后,需要换行才能实现命令的输入
  • EOF 一定要以 EOF 结尾,需要正常关闭输入,否则后续的 Shell 脚本无法正常执行
  • EOF 代码块 (姑且这么称呼,就是两个EOF内的代码) ,左边不要有缩进
  • EOF 代码块,每一行命令单独表示一句命令,不可一行多条叠加
  • EOF 不支持shell的分号自动识别命令

修改密码脚本

修改密码脚本主要用于解决密码过期问题,将密码修改为当前密码即可再次生效。

脚本正文,根据命令中传入的数据进行密码修改。

脚本利用了 EOF+<<标准输入 实现自动输入新密码实现密码修改。

#!/bin/bash 
#filename: resetPwd.sh
#Author: mebugs

#Get Name And PassWord From Script
user=$1
pswd=$2
# EOF内输入的是密码,实际相当于手工执行密码修改操作。
passwd ${user} << EOF
${pswd}
${pswd}
EOF
echo "OK"
exit
sh resetPwd.sh test mebugs123

修改密码操作

#修改密码 
#root用户修改自己的密码,不需要携带用户名
passwd [NAME]
#查询用户密码的有效期
chage -l [NAME]
#修改密码过期时间
#密码到期的日期,过了这天,此账号将不可用。0表示马上过期,-1表示永不过期
chage -E -1 [NAME]
#密码可以更改的最小天数,设置9999永不需要修改
chage -m 9999 用户名
#密码保持有效的最大天数。设置9999意味着永远有效
chage -M 9999 用户名

应用说明

一键修改密码可以使用这种形式。

如果密码同时含有单引号和双引号,那么则无法通过这种方法修改。

可以通过history命令看到修改记录。

echo new_passwd@000 | passwd --stdin root

该脚本的主要作用用于大批量维护环境时采用远程投放脚本来实现批量修改密码。

米虫

做一个有理想的米虫,伪全栈程序猿,乐观主义者,坚信一切都是最好的安排!

本站由个人原创、收集或整理,如涉及侵权请联系删除

本站内容支持转发,希望贵方携带转载信息和原文链接

本站具有时效性,不提供有效、可用和准确等相关保证

本站不提供免费技术支持,暂不推荐您使用案例商业化

发表观点

提示

昵称

邮箱

QQ

网址

当前还没有观点发布,欢迎您留下足迹!

同类其他

Linux

关键:Linux系统磁盘挂载

Linux系统一般情况下启动默认只加载系统盘,支持其他磁盘自由热插拔,如果发现自己的某些目录找不见了的时候不要慌看看是不是没有设置开机启动自动加载挂载磁盘内容,另外要特别注意首次安装系统记得磁盘挂载操作

Crontab配置定时任务处理日常工作

Linux服务器测试环境或正式生产环境常常设计一些定时例行处理的操作,如日记备份转移清理等,利用Crontab+Shell脚本组合实现定期定时操作,确保不会应工作繁忙忘记任务导致环境异常

awk强大的文本&文件的处理语言

awk,一种处理文本文件的语言,强大的文本分析工具。取三位创始人Alfred Aho、Peter Weinberger和Brian Kernighan的Family Name的首字符

多环境间信任关系添加的完整与快捷流程

项目上的开发和测试环境非常多,少则数十多则上百,实际工作中实在懒得来回登录或打开各个环境,最好的方案就是给内网环境间添加一下信任关系,便于快速在环境之间切换,免去输入密码的烦恼

交互式脚本expect脚本实现自动化

expect脚本由一系列expect-send对组成,等待输出中输出特定的字符,通常是一个提示符,然后发送特定的响应,特别适用于需要批量手动输入命令的自动化操作改造

Shell脚本循环逐行读取文件

Shell脚本循环读取文件常用的方案有输入重定向和管道操作,循环形式有while和for两种,具体的使用或搭配看个人习惯,个人尚未对命令进行性能验证

选择个人头像

昵称

邮箱

QQ

网址

评论提示

  • 头像:系统为您提供了12个头像自由选择,初次打开随机为你选择一个
  • 邮箱:可选提交邮箱,该信息不会外泄,或将上线管理员回复邮件通知
  • 网址:可选提交网址,评论区该地址将以外链的形式展示在您的昵称上
  • 记忆:浏览器将记忆您已选择或填写过得信息,下次评论无需重复输入
  • 审核:提供一个和谐友善的评论环境,本站所有评论需要经过人工审核