pass string to a os prompt

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Bart Nessux

    pass string to a os prompt

    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!

  • wes weston

    #2
    Re: pass string to a os prompt

    Bart,
    [color=blue][color=green][color=darkred]
    >>> x = raw_input('ente r x: ')[/color][/color][/color]
    enter x: 5[color=blue][color=green][color=darkred]
    >>> print x[/color][/color][/color]
    5

    or

    d = tkSimpleDialog. askstring("","s tartdate",initi alvalue=headDat e)




    Bart Nessux wrote:[color=blue]
    > 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!
    >[/color]

    Comment

    • Nicolas Fleury

      #3
      Re: pass string to a os prompt

      Bart Nessux wrote:[color=blue]
      > 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.[/color]

      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

      Comment

      • Peter Hansen

        #4
        Re: pass string to a os prompt

        Bart Nessux wrote:[color=blue]
        >
        > 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')[/color]

        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

        Comment

        Working...