LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1362|回复: 6

如何写一个批量修改密码的脚本

[复制链接]
发表于 2009-3-6 00:05:53 | 显示全部楼层 |阅读模式
首先,新人报到!
遇到的问题是:已经有一个用户usera,并且也设置好了密码。现在需要写一个脚本批量增加userb,userc,userd(为方便起见就三个用户,实际更多),密码和usera是相同的,由于password命令不具有非交互性,本来想的方法是在shadow里面把usera的密码字段复制过去,但不知道怎么实现。用expect又太长,不够灵活,再说也不熟练。
盼高手,点拨~~:help
发表于 2009-3-6 04:03:05 | 显示全部楼层
[root@Pavilion ~]# cat test.sh
useradd testing
passwd testing << EOF
123456
123456
EOF
[root@Pavilion ~]# sh test.sh
Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully
[root@Pavilion ~]#

不知道这个能不能满足你的需要?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-3-6 10:04:16 | 显示全部楼层
经过测试完全可以,谢谢。非常感谢,之前我用EOF的时候 少写了一行怪不得不行。高手
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-3-9 12:18:15 | 显示全部楼层
新的问题来了,我方在solaris里不可以运行
回复 支持 反对

使用道具 举报

发表于 2009-3-10 06:33:03 | 显示全部楼层
这个。。。solaris没用过。还需真正的高手上阵。
比如,版大。。。
回复 支持 反对

使用道具 举报

发表于 2009-3-10 10:29:01 | 显示全部楼层
什么叫“我方在solaris里不可以运行”?
试试把脚本里useradd命令写完整,参考useradd的手册页。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-3-12 12:39:58 | 显示全部楼层
是这样的,我意思没有表达的很清楚。我想写的脚本应该是这样的
已知:
1:系统用户xiaobingli   已经建立了密码,在shadow里密码字段是
  $2a$10$8M9InZb2hpeY2K61BXMY3uTxK.Bylo3pN3R/EB4qSryaJUX2URb36
2:现在在文件的filename 里 有很多的用户名
3:要求写一个脚本自动以filename里的用户增加用户名,并且将用户xiaobingli在shadow  里的密码字段复制给建立的用户
#!/bin/bash
name=`less filename`
for i in $name
do
useradd -g xiaobingli $i
.... //这里实现密码字段替换的表达式是什么/
done
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表