pass string to a os prompt

B

Bart Nessux

I'm writing a script that does some basic pre-configuration for our new
Macs (OSX 10.3.2). I'm trying to enable the root account automatically
with the script, but I don't know how to pass stings to the shell when
it stops and awaits input. For example,

os.popen('/usr/bin/sudo passwd root')

Cause the OS to respond with:

Password:

How do I pass my current user's password to the prompt? I know that I
need to store the password in a string in the script, but I don't know
how to feed it to the waiting shell.

P.S. I know this isn't safe. The script is for config purposes only and
will be used by sys-support personnel who know the root passwords
already. This script just *greatly* automates deployment and helps to
standardise how systems are configured in a lagre environment.

Thanks!
 
N

Nicolas Fleury

Bart said:
I'm writing a script that does some basic pre-configuration for our new
Macs (OSX 10.3.2). I'm trying to enable the root account automatically
with the script, but I don't know how to pass stings to the shell when
it stops and awaits input. For example,

os.popen('/usr/bin/sudo passwd root')

Cause the OS to respond with:

Password:

How do I pass my current user's password to the prompt? I know that I
need to store the password in a string in the script, but I don't know
how to feed it to the waiting shell.

Look at popen functions. Take one that you can redirect stdin and use
it to enter the input. You can redirect stdout and check it to wait for
"Password:".

Regards,

Nicolas
 
P

Peter Hansen

Bart said:
I'm writing a script that does some basic pre-configuration for our new
Macs (OSX 10.3.2). I'm trying to enable the root account automatically
with the script, but I don't know how to pass stings to the shell when
it stops and awaits input. For example,

os.popen('/usr/bin/sudo passwd root')

Try something like this:

os.system('echo newpass | /usr/bin/sudo passwd --stdin root')

(This works without the sudo while I was logged in as root, but I didn't
try it using sudo.)

-Peter
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,055
Latest member
SlimSparkKetoACVReview

Latest Threads

Top