1# 2# CDDL HEADER START 3# 4# The contents of this file are subject to the terms of the 5# Common Development and Distribution License (the "License"). 6# You may not use this file except in compliance with the License. 7# 8# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9# or http://www.opensolaris.org/os/licensing. 10# See the License for the specific language governing permissions 11# and limitations under the License. 12# 13# When distributing Covered Code, include this CDDL HEADER in each 14# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15# If applicable, add the following below this CDDL HEADER, with the 16# fields enclosed by brackets "[]" replaced with your own identifying 17# information: Portions Copyright [yyyy] [name of copyright owner] 18# 19# CDDL HEADER END 20# 21 22# 23# Copyright 2009 Sun Microsystems, Inc. All rights reserved. 24# 25 26# 27# NAME 28# passwd.exp 29# 30# DESCRIPTION 31# The Expect script will change the passwd of a user 32# 33 34 35set timeout 5 36set name [lindex $argv 0] 37set passwd [lindex $argv 1] 38 39spawn passwd $name 40expect { 41 timeout { 42 send "\r" 43 send_error "\n passwd is time out\n" 44 exit 1 45 } 46 47 "User unknown:" { 48 send_error "\n User $name doesn't exist\n" 49 exit 1 50 } 51 52 "New Password" { 53 send "$passwd\r" 54 sleep 2 55 expect { 56 timeout { 57 send "\r" 58 send_error "\n passwd is time out\n" 59 exit 1 60 } 61 "Re-enter new Password:" { 62 send "$passwd\r" 63 sleep 2 64 } 65 } 66 } 67} 68 69send_user "\n" 70exit 0 71