不用交互方式修改Linux账户密码

通常,要养成定期修改操作系统用户密码的习惯,一般我们用passwd  username这样的命令来进行密码修改,但是如此一来就要进入交互模式进行修改:

如图:

那么对于利用脚本更改密码的情况,反而因为交互模式而变得不简洁,所以要用另一种方式避开交互模式:

第一种:

echo "newpasswd"  |  passwd  --stdin  username

优点:方便快捷

缺点:如果你输入的指令能被别人通过history或者其它方式捕获,那么这样就是不安全的,而且,如果新密码同时含有单引号和双引号,那么就无法通过这种方式进行修改。

第二种:

chpasswd - update passwords in batch mode

  • chpasswd 是一个批量更新用户口令的命令
  • chpasswd 会从标准输入批量读取成对的用户名和密码,并使用这些信息来更新现有的一组
    用户
  • 从标准输入读取的每行数据格式应为 username:password 即用户名和密码用冒号分隔开
  • 默认情况下所提供的密码必须是明文,并通过chpasswd进行加密
  • chpasswd 首先在内存中更新密码,在没有任何错误的情况下才会将更改的密码更新到磁盘中
  • chpasswd 的应用场景主要是在一个比较大的系统环境下,同一时间创建了多个用户的情况
  • 默认的加密算法可以通过修改/etc/login.defs中ENCRYPT_METHOD变量的值(默认值SHA512),可以通过-e,-m,-c选项覆盖默认的加密算法

基本使用:

[root@prenv ~]# useradd chtest
[root@prenv ~]# chpasswd
chtest:123456
[root@prenv ~]# echo "chtest:123456" > passwd.txt
[root@prenv ~]# chpasswd < passwd.txt 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值