在linux中更改密码从文件中获取值

时间:2015-07-01 12:34:14

标签: linux shell scripting change-password

脚本从文本文件或excel获取值(excel是更好的选择)。 文件包含三列

username    old password   new password
lg1211      cSR121         csd22
lf1245      fDFss          sfdge
ms1232      nHJaa          hYiao

脚本

# !/bin/bash
file=/root/Desktop/Scripts/login
# location of file
while read line
do
username=$(echo $line | awk '{print $1}')
oldpassword=$(echo $line | awk '{print $2}')
newpassword=$(echo $line | awk '{print $3}')
passwd $username

done<$file

我的quires是如何在脚本执行此命令后使用oldpassword和newpassword passwd $ username

1 个答案:

答案 0 :(得分:0)

如果您有管理员权限,最好使用chpasswd命令:

# !/bin/bash
file=/root/Desktop/Scripts/login
# location of file
while read line
do
    echo $line | awk '{print $1 ":" $3}' | chpasswd  
done<$file

如果您没有管理员权限,则应使用&#34; expect&#34;,请查看此链接Script to change password on linux servers over ssh