免费注册 查看新帖 |

Chinaunix

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

? 远程批量密码,提示修改成功,但是实际并没有修改。。。。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-06-12 19:14 |只看该作者 |倒序浏览
脚本:

#!/bin/bash

if [ $# -ne 3 ]
then
    echo "usage : basename $0 ip pw"
        exit 1
fi

address=$1
pass=$2
chargepw=$3


while read ipaddr other
do
  expect<<EOF
  set timeout 600
   spawn -noecho strace -o /dev/null ssh root@${ipaddr}
   expect {
            "(yes/no)?" {
                                     send "yes\n"
                                                 expect "assword:"
                                                 send "${pass}\n"
                                           }
                                          
                        "assword:" {
                                    send "${pass}\n"
                                          }
                 }

        sleep 1
        spawn -noecho passwd
        expect {
                 "New" {
                               send "${chargepw}\n"
                               expect "Retype"
                               send "${chargepw}\n"
                           }
              }

        sleep 1   
        expect "#"
        send_tty "exit\n"
EOF
done</mnt/${address}


执行脚本,结果显示如下:
[root@localhost mnt]# ./changepw.sh ipad mina1234 charge@123
root@192.168.11.101's password: Changing password for user root.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
exit

显示结果密码是修改成功,但是实际上并没有修改成功,密码还是原来那个 。。。
语法没错,执行也没提示错误,不知道问题到底出在哪?

论坛徽章:
0
2 [报告]
发表于 2010-06-12 22:28 |只看该作者
cat dsh.sh
#!/bin/sh
   command="$@"
   for i in `cat /hosts`
      do
         rsh $i "$command"
      done
cat /hosts
node1
node2
node3
....

chmod 755 dsh.sh
./dsh "echo xxx | passwd user01 --stdin"   //xxx为user01的密码!

论坛徽章:
0
3 [报告]
发表于 2010-06-13 12:27 |只看该作者
rsh  这个命令没用过。。。我试试看。。谢谢。。

论坛徽章:
0
4 [报告]
发表于 2010-06-13 14:36 |只看该作者
回复 2# addictlinux


    2 楼,使用rsh 这个命令,还得去配置一些文件,比较麻烦。像我那样,比较简便,只是我不知道问题出在那,我想知道问题所在?

论坛徽章:
0
5 [报告]
发表于 2010-06-13 15:06 |只看该作者
回复 4# zhmysh


    呵呵,是要配置rsh
  step1、配置各个节点间相互信任
step2、配置rsh服务等等

论坛徽章:
0
6 [报告]
发表于 2010-06-13 15:40 |只看该作者
参考楼上, 使用ssh, 不用配置信任。。直接使用ssh

比如 : ssh root@192.168.11.101 "echo 'linux123' |passwd root --stdin" 再结合expect ,就可以批量修改。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP