千家信息网

如何实现Linux下交互式与非交互式修改用户密码

发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,这篇文章主要介绍"如何实现Linux下交互式与非交互式修改用户密码",在日常操作中,相信很多人在如何实现Linux下交互式与非交互式修改用户密码问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作
千家信息网最后更新 2025年01月22日如何实现Linux下交互式与非交互式修改用户密码

这篇文章主要介绍"如何实现Linux下交互式与非交互式修改用户密码",在日常操作中,相信很多人在如何实现Linux下交互式与非交互式修改用户密码问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"如何实现Linux下交互式与非交互式修改用户密码"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

1. 交互式配置本地用户的密码:passwd 命令

代码如下:

[root@host_221-81 ~]# passwd qa
Changing password for user qa.
New password:
BAD PASSWORD: it is too short
BAD PASSWORD: is too simple
Retype new password:
passwd: all authentication tokens updated successfully.

2. 非交互式修改本地用户的密码:chpasswd

代码如下:

# chpasswd命令使用起来很简洁
[root@host_221-81 ~]# echo "qa:1234" | chpasswd

# 使用passwd命令,也可以实现非交互式修改密码
[root@host_221-81 ~]# echo "1234" | passwd --stdin "qa"
Changing password for user qa.
passwd: all authentication tokens updated successfully.

3. 使用expect来处理交互式输入,从而实现非交互式的密码修改。

代码如下:

#!/bin/sh
# \
exec expect -f "$0" "$@"
if { $argc != 2 } {
puts "Usage: $argv0 "
exit 1
}
set password [lindex $argv 1]
spawn passwd [lindex $argv 0]
sleep 1
expect "assword:"
send "$password\r"
expect "assword:"
send "$password\r"
expect eof

注意:脚本的第二行,这种写法可能比较陌生,这是在TCL语言中的语法,The backslash is recognized as part of a comment to sh, but in Tcl the backslash continues the comment into the next line which keeps the exec command from executing again.

该脚本的执行结果为:

代码如下:

[root@smilejay ~]# ./change-pwd-expect.sh qa 1234
spawn passwd qa
Changing password for user qa.
New password:
BAD PASSWORD: it is too short
BAD PASSWORD: is too simple
Retype new password:
passwd: all authentication tokens updated successfully.

到此,关于"如何实现Linux下交互式与非交互式修改用户密码"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

交互式 密码 用户 代码 学习 命令 更多 脚本 帮助 实用 简洁 陌生 接下来 写法 文章 方法 是在 理论 知识 篇文章 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全体系大概描述 电信诈骗网络安全海报 全球生物网络技术专业大学排名 登录qq服务器连接中稍后再试 永兴学计算机软件开发培训哪家好 学生预防网络安全的措施 现在需要怎么装服务器 宿舍楼综合布线网络技术英文 删除数据库test并作删除判断 软件开发那个阶段测试用例 专科软件开发报哪的学校 烟盒设计软件开发 深圳手机配件管理软件开发 恩施定制软件开发多少钱 农业银行软件开发中心位置 大数据库为啥在贵州 浙江桌面软件开发费用 北京大田物联嵌入式软件开发 国家网络安全宣传日扫码 北航软件开发 苹果4id注册服务器错误 计算机网络技术智能楼宇方向 惠山区委网络安全和信息化 融易推网络技术 学校网络安全校园日宣传语 发票写入数据库失败怎么办 三大期刊数据库对比分析 山东大学的网络安全教授 人与网络技术的看法 小马服务器是什么原因
0