Jquery中文网 www.jquerycn.cn
Jquery中文网 >  脚本编程  >  shell  >  正文 expect批量修改用户密码的实例分享

expect批量修改用户密码的实例分享

发布时间:2014-10-20   编辑:www.jquerycn.cn
本文介绍下,在linux中用expect批量修改用户密码的方法,有需要的朋友参考下。

在linux中,使用第三方工具expect,实现交互式操作的命令的自动无人工干预操作。
常用到的命令包括:passwd、fsck、telnet、ftp等。

具体操作步骤如下。

1、创建用户/密码对文件
 

复制代码 代码示例:
# cat user.password
usr2:abcd2
usr3:abcd3

2、创建expect.sh脚本文件
# cat expect.sh
 

复制代码 代码示例:
#!/usr/local/bin/expect
if {$argc<2} {
  send_user "usage: $argv0 username password\n"
  exit
  }
 
  set username [lindex $argv 0]
  set password [lindex $argv 1]
  send_user "execute:$argv0 $username $password\n"
 
  spawn -noecho passwd [lindex $argv 0]  #-noecho不回显spawn正在调用的命令
  expect {
"*口令*"{send "$password\n"}
"*word*"{send "$password\n"}
}
  expect {
"*口令*"{send "$password\n"}
"*word*"{send "$password\n"}
}
  #expect "*word*"
  #send "$password\n"
  expect eof
  exit

3、创建autochg.sh文件,在此文件中调用expect.sh
# cat autochg.sh
 

复制代码 代码示例:
#!/usr/bin/bash
for i in `cat $1`
  do
  USERNAME=${i%:*}   #自右起第一个冒号后的字符都不要
  PASSWORD=${i#*:}   #自左起第一个冒号前的字符都不要
  ./expect.sh $USERNAME $PASSWORD
  done

# chmod u+x expect.sh autochg.sh
# ./autochg.sh user.password

您可能感兴趣的文章:
expect批量修改用户密码的实例分享
expect批量管理计算机的一个脚本
Linux中生成随机密码的shell脚本
用expect实现ssh自动登录服务器并进行批量管理
shell结合expect写的批量scp脚本工具
expect脚本远程批量管理服务器的思路解析
expect 实现 scp 文件时不用手动输入密码
Solaris批量创建用户与密码的技巧分享
实现ssh自动登录的4种方法
远程登录的简单expect脚本

关键词: 批量修改密码   
[关闭]