免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1995 | 回复: 4
打印 上一主题 下一主题

求解:linux批量添加用户帐号 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-05-31 18:03 |只看该作者 |倒序浏览
本帖最后由 tengzf-eagle 于 2012-05-31 18:14 编辑

今天遇到这样一个试题,希望求解各位大哥,望大家多多指点啊!!!!{:2_169:}
试题的意思如下:
    1、要求交互操作,用户输入一个数字,小于100的,这个数字代表要建立多少个账号;
    2、交互式操作,让用户输入一串用于批量添加的帐号的前缀;
    3、添加后的帐号名的规则是有前缀加数字组成,小于10的前面加零,例如:前缀06,大于或等于10的就不用加0了;
    4、交互式设置添加帐号的过期时间;
    5、交互式设置要添加帐号的密码。
这些要在shell脚本实现!
望大家指点一二,小弟不剩感激!!!

论坛徽章:
0
2 [报告]
发表于 2012-05-31 23:40 |只看该作者
写个脚本就行了

论坛徽章:
0
3 [报告]
发表于 2012-06-01 14:26 |只看该作者
  1. #!/usr/bin/expect
  2. # 导入 Expect 类库
  3. set hostname [lindex $argv 0]
  4. # 设置操作的远程主机,$argv 类似 Shell 函数中的接收参数 [lindex $argv 0]
  5. # 则表示第一个接收参数 , 例如 expectExample.sh host1
  6. set username [lindex $argv 1]
  7. # 同上,第二个接收参数为登陆用户名
  8. set passwd [lindex $argv 2]
  9. # 同上,第三个接收参数为登陆用户密码
  10. set timeout 60
  11. # 设置等待超时为 60 秒
  12. spawn  ssh $username@$hostname
  13. # 使用 spawn 命令来激活 ssh 程序,模拟终端的输出将能够被 Expect 所读取,模拟终端也能从 send 输入到远程主机
  14. expect {
  15.            "yes/no" {send "yes ";exp_continue}
  16.            "Password:" {send "$passwd ";}
  17. }
  18. #Expect 语句等待远程主机的字符串匹配,当匹配到了“yes/no”
  19. #则执行后面的操作 .expect 搜索模式"*password:",其中 * 允许匹配
  20. # 任意输入,所以对于避免指定所有细节而言是非常有效的。如果远程主机没有 action,
  21. #所以 Expect 检测到该模式后就继续运行。  一旦接收到提示后,下一行就就把密码送给当前进程。
  22. send "sudo -s\r"
  23. expect  "Password:"  {send "$newpasswd\r"}
  24. # 执行 sudo 用户角色转换操作

  25. send "copy /etc/sudoers /usr/local/etcsudoers\r"
  26. # 执行实际运维操作

  27. send "exit\r "
  28. send "exit\r "
  29. expect eof {exit 1}
复制代码
spawn  激活一个 Unix 程序来进行交互式的运行 .
spawn ssh 192.168.1.2  
send  向进程发送字符串  send "sudo -s\r"  
set  给 Expect 脚本中的变量赋值  set username “joe”  
expect  等待进程收到的远程主机的输出,并匹配对应的字符串 , 一旦匹配,执行后续的操作  expect { "yes/no" send "yes" ;}

论坛徽章:
0
4 [报告]
发表于 2012-06-01 14:27 |只看该作者
以上只是示例,给你提供一个解决的思路,具体的脚本还是要自己去动手

论坛徽章:
1
巳蛇
日期:2013-10-28 15:55:33
5 [报告]
发表于 2012-06-19 09:32 |只看该作者
不学shell就手动处理吧。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP