Change password shell script
Posted in Security
#!/usr/local/bin/expect -f # Password change shell script, tested on Linux and FreeBSD # ---------------------------------- # It need expect tool. If you are using Linux use following command # to install expect # apt-get install expect # FreeBSD user can use ports or following command: # pkg_add -r -v expect # ---------------------------------- # If you are using linux change first line # From: #!/usr/local/bin/expect -f # To: #!/usr/bin/expect -f # ----------------------------------------------- # Copyright (c) 2006 nixCraft project # This script is licensed under GNU GPL version 2.0 or above # ------------------------------------------------------------------------- # This script is part of nixCraft shell script collection (NSSC) # Visit http://bash.cyberciti.biz/ for more information. # ------------------------------------------------------------------------- # display usage if {$argc!=2} { send_user "usage: $argv0 username password \n" exit } # script must be run by root user set whoami [exec id -u] if {$whoami!=0} { send_user "You must be a root user to run this script\n" exit } # set timeout -1 match_max 100000 # stopre password set password [lindex $argv 1] # username set user [lindex $argv 0] # opem shell spawn $env(SHELL) # send passwd command send -- "passwd $user\r" expect "assword:" send "$password\r" expect "assword:" send "$password\r" send "\r" expect eof
Download - Email this to a friend - Printable version
Discussion on This Shell Script:
Leave a Reply
We encourage your comments, and suggestions. But please stay on topic, be polite, and avoid spam. Thank you very much for stopping by our site!
Tags: argc, argv, change shell, exec, expect command, linux, match, passwd command, ports, script collection, whoami ~ Last updated on: April 10, 2008


Long story short.
echo $password | /usr/bin/passwd –stdin user1