【Linux】通过 Shell 脚本修改用户密码

这篇具有很好参考价值的文章主要介绍了【Linux】通过 Shell 脚本修改用户密码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. Linux 中修改用户密码

  Linux 中要修改一个用户的密码通常是使用 passwd 命令来完成,命令格式如下。

#一般使用格式
passwd [username]

[注]:若其后不加任何用户名则表示修改当前用户的密码。
使用示例: 这里笔者将 im 用户的密码修改为 im123

[root@linux-im ~]# passwd im
更改用户 im 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

这里可以看到在使用 passwd 命令修改用户密码的时候需要手动输入两次进行匹配确认后才能完成密码修改的动作。

2. Shell 脚本实现自动化修改用户密码

  现在已经知道了在终端中如何使用命令修改用户密码,那么如何用 shell 脚本来实现自动修改用户密码呢?
  可以看到当执行命令后需要手动输入更新的密码,那么实现自动修改密码的脚本的关键点就在于解决自动输入所要更新的密码,这里通过执行 man 1 passwd 查看 man 手册对 passwd 命令的描述。

【Linux】通过 Shell 脚本修改用户密码

通过 man 手册了解到 passwd 拥有一个可选参数 --stdin,手册中对其的解释如下:

--stdin
              This option is used to indicate that passwd should read the new password from standard input, which can be a pipe.

简单翻译即为:该选项用于指定 passwd 命令应该从标准输入中读取新密码,标准输入可以是管道。

  那么这样一来,就可以通过 echo 命令像标准输入中输出密码值,而 passwd 命令配置为 --stdin 方式获取密码。现在写一个 shell 脚本名为 changepasswd.sh,其内容如下:

#!/bin/bash

echo "change im passwd"

echo "im123" | passwd --stdin im

ok,现在执行该脚本看看效果:

[root@linux-im test]# ./changepasswd.sh
change im passwd
更改用户 im 的密码 。
passwd:所有的身份验证令牌已经成功更新。

ok,现在看到已经成功将 im 用户的密码修改为 im123 了。当然,你也可以将该脚本改变为参数可输入的形式,让所修改的用户和其新密码可以通过脚本的输入配置。该变 changepasswd.sh 内容如下:

#!/bin/bash

echo "change "$1" passwd"

echo $2| passwd --stdin $1

执行该脚本看看效果:

[root@linux-im test]# ./changepasswd.sh im im123
change im passwd
更改用户 im 的密码 。
passwd:所有的身份验证令牌已经成功更新。

可以看到密码同样被正确修改,那么下面来验证一下这件事。

3. 验证用户密码是否被成功正确修改

  一种方式是使用 su 命令切换用户时的密码验证来验证密码的正确性,另一种方式是退出桌面,重新登录,与 su 同理,还有一种方式是通过 ssh 连接时的密码验证。这里仅介绍第一种方式,但需要注意的是若当前用户是 root 时,执行 su 不需要密码验证,可以先切换到普通用户再执行 su 切换索要验证的用户即可。

# 此时 root 切换到普通用户不需要密码验证
[root@linux-im test]# su im
# 在普通用户下切换到其它用户需要密码验证
[im@linux-im test]$ su im
密码:
[im@linux-im test]$

这里输入修改后的新密码,成功切换到 im 用户,说明密码修改成功。文章来源地址https://www.toymoban.com/news/detail-480373.html

#完

到了这里,关于【Linux】通过 Shell 脚本修改用户密码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【linux】linux用户重置修改密码

    修改密码是操作系统最常见的操作。 linux操作系统,通过passwd 系统命令来修改密码。 其中普通用户只能修改自己用户的密码,如下: 但是root用户就不同了,root用户是管理员用户,权限顶格。 用root用户运行passwd修改当前用户的密码, passwd user_name可以设置或修改任何用户的

    2024年02月16日
    浏览(33)
  • Linux系统修改 root 用户密码

    第 1 步 重启系统,在下图所示界面按 e 键    第2步:找到 linux这行,末尾输入 空格 rd.break 然后按 ctrl+x 第3步: 查看可选步骤              输入:mount | grep sysroot  这里sysroot是以ro只读的形式挂载的,所以要以可读可写的方式来挂载 第4步:以读写方式挂载 /sysroot      

    2023年04月27日
    浏览(55)
  • Linux 单用户修改root密码

            无论是Linux还是Windows亦或是MacOS系统,再或者是手机,路由器等任何设备,操作系统的登录密码都存放在某个存储介质上,一般都是与操作系统同在的存储介质,对于任何操作系统,只要将存放密码介质上的密码文件修改,就能实现密码的破解。         Linux除了

    2023年04月25日
    浏览(74)
  • linux系统修改普通用户密码和破解管理员密码

    1、用户之间的切换 (1)、点击系统桌面右上角退出切换 (2)、通过终端命令切换 如图所示: 2、修改普通用户密码 如图所示: (2)、普通用户自己修改密码,需要输入当前密码 3、破解管理员密码,破解密码前需要重启,在初始化界面修改 方法1:rd.break方法 在此界面按e键进入下

    2024年02月04日
    浏览(62)
  • 【Shell 命令集合 系统设置 】⭐⭐⭐Linux 更改用户密码 passwd命令 使用指南

    Shell 命令专栏:Linux Shell 命令全解析 passwd命令是Linux系统中用于更改用户密码的命令。它允许用户更改自己的密码或超级用户更改其他用户的密码。通过使用passwd命令,用户可以保护其账户的安全性,防止未经授权的访问。 当用户运行passwd命令时,系统会提示用户输入当前密

    2024年02月02日
    浏览(69)
  • Linux系统root用户切换及密码修改

    天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。 以Ubuntu为例 我的用户名为hanshan2 当前用户为hanshan2 从当前用户切换到root用户 从root用户

    2024年02月16日
    浏览(47)
  • Linux系统服务器修改用户密码的方法

    Linux系统下可以通过 passwd 命令来个修改用户的密码,操作起来也非常的简单。 命令: 例: Linux 修改自己当前用户的密码 例: Linux 修改指定用户的密码,必须是 root 用户,才可以修改其他账号的密码

    2024年02月11日
    浏览(59)
  • Linux——Centos7进入单用户模式修改密码

            本篇文章适用于经常忘记自己root用户密码的初学者!!!,会进入单用户模式修改root密码即可。 系统启动进入到如下界面后输入字母“e”;         2.可以看到进入到如下界面;         3.一直下翻到图中圈起来的这部分;         4.在Linux16这一段的最后

    2024年02月05日
    浏览(59)
  • Linux centos 安装开源emqx 添加用户、密码,以及修改端口

    安装与启动 1、创建emqx目录   2、进入目录        cd /home 3、创建目录        mkdir emqx 4、进入目录        cd /home/emqx 下载安装包 1、下载        wget https://www.emqx.com/zh/downloads/broker/4.4.4/emqx-4.4.4-otp24.1.5-3-el7-amd64.zip 2、解压        unzip emqx-4.4.4-otp24.1.5-3-el7-amd

    2023年04月20日
    浏览(50)
  • 【Shell 命令集合 系统管理 】Linux 修改用户的属性和配置 usermod命令 使用指南

    Shell 命令专栏:Linux Shell 命令全解析 usermod命令是Linux系统中的一个命令,用于修改用户的属性和配置。通过usermod命令,可以对用户的各种属性进行修改,如用户的用户名、用户ID、用户组ID、用户主目录、用户登录shell等。 用户属性的修改可以通过usermod命令的参数来实现,参

    2024年02月04日
    浏览(71)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包