Using expect.rb to change a user's password in UNIX

Hello World,

Today, I used a Korn Shell script and the UNIX version of expect to
change a
user password remotely.
I would like to use the ruby.rb library to do the same.
For instance, when you type, in UNIX,

passwd username
It comes back asking to enter the PW.
Once you enter it, it comes back asking you to enter it again.

How do I do this using the ruby expect.rb library?

We use this to change a userid on multiple systems at the same time.

Thank you,

Victor

Victor R. wrote:

Once you enter it, it comes back asking you to enter it again.

How do I do this using the ruby expect.rb library?

We use this to change a userid on multiple systems at the same time.

Thank you,

Victor

If the systems on which the passwords are to be changed are Linux, there
is a “batch password change utility” called “chpasswd”. So your Ruby
script can simply encrypt the passwords, generate an input file to
“chpasswd”, and execute “chpasswd” as “root”.

On Jul 22, 6:15 pm, “Victor R.” [email protected] wrote:

How do I do this using the ruby expect.rb library?

I just went through this. You can use net-telnet (or net-ssh). See:

http://groups.google.com/group/ruby-talk-google/browse_frm/thread/96cabb08c34182c/77c0843d27e95dd3?lnk=gst&q=berger+password&rnum=1#77c0843d27e95dd3

Regards,

Dan

Hi,

On 22-Jul-07, at 8:15 PM, Victor R. wrote:

Once you enter it, it comes back asking you to enter it again.

How do I do this using the ruby expect.rb library?

I don’t know. I had to do something similar for scripting rsync over
ssh, and just used the unix version of expect (using popen4 and a
bash script I generated in Ruby). Very ugly, but expect usually is :slight_smile:

Cheers,
Bob

We use this to change a userid on multiple systems at the same time.

Thank you,

Victor


Bob H. – tumblelog at http://
www.recursive.ca/so/
Recursive Design Inc. – weblog at http://www.recursive.ca/
hutch
http://www.recursive.ca/ – works on http://www.raconteur.info/
cms-for-static-content/home/

The servers where I need to do this is AIX.
We use one AIX server as the controlling server from which we sent a
distributed request to execute certain script everywhere.
The script, which exists on each server, executes as requested.

Thank you

Victor