Thread: How do create a user with a bashscript

How do create a user with a bashscript

From
"A B"
Date:
Hi.
I want to create a user with the  createuser  command and supply the
password at the command line in a script, like this

#!/bin/bash
createuser  myuser

but I want to supply a password on the command line, is that possible?
The docs tells me no, but does anyone know of a workaround?

Re: How do create a user with a bashscript

From
Andreas Kretschmer
Date:
A B <gentosaker@gmail.com> schrieb:

> Hi.
> I want to create a user with the  createuser  command and supply the
> password at the command line in a script, like this
>
> #!/bin/bash
> createuser  myuser
>
> but I want to supply a password on the command line, is that possible?
> The docs tells me no, but does anyone know of a workaround?

Maybe with expect(1):

NAME
       expect - programmed dialogue with interactive programs, Version 5

SYNOPSIS
       expect [ -dDinN ] [ -c cmds ] [ [ -[f|b] ] cmdfile ] [ args ]

INTRODUCTION
       Expect  is  a program that "talks" to other interactive programs according to a script.  Following the script,
Expectknows what can be expected 
       from a program and what the correct response should be.  An interpreted language provides branching and
high-levelcontrol structures to  direct 
       the dialogue.  In addition, the user can take control and interact directly when desired, afterward returning
controlto the script. 



Andreas
--
Really, I'm not out to destroy Microsoft. That will just be a completely
unintentional side effect.                              (Linus Torvalds)
"If I was god, I would recompile penguin with --enable-fly."   (unknown)
Kaufbach, Saxony, Germany, Europe.              N 51.05082°, E 13.56889°

Re: How do create a user with a bashscript

From
"A B"
Date:
2008/9/19 Andreas Kretschmer <akretschmer@spamfence.net>:
> A B <gentosaker@gmail.com> schrieb:
>
>> Hi.
>> I want to create a user with the  createuser  command and supply the
>> password at the command line in a script, like this
>>
>> #!/bin/bash
>> createuser  myuser
>>
>> but I want to supply a password on the command line, is that possible?
>> The docs tells me no, but does anyone know of a workaround?
>
> Maybe with expect(1):
>
> NAME
>       expect - programmed dialogue with interactive programs, Version 5
>
> SYNOPSIS
>       expect [ -dDinN ] [ -c cmds ] [ [ -[f|b] ] cmdfile ] [ args ]
>
> INTRODUCTION
>       Expect  is  a program that "talks" to other interactive programs according to a script.  Following the script,
Expectknows what can be expected 
>       from a program and what the correct response should be.  An interpreted language provides branching and
high-levelcontrol structures to  direct 
>       the dialogue.  In addition, the user can take control and interact directly when desired, afterward returning
controlto the script. 
>
>
>
> Andreas

I managed to do it by calling psql and setting the password in the
command (with -c option). Took some time to figure out that I had to
use the template1 database when connecting.

Re: How do create a user with a bashscript

From
Devrim GÜNDÜZ
Date:
On Fri, 2008-09-19 at 09:11 +0200, A B wrote:
> #!/bin/bash
> createuser  myuser
>
> but I want to supply a password on the command line, is that possible?
> The docs tells me no, but does anyone know of a workaround?

psql mydb -c "ALTER ROLE myrole WITH ENCRYPTED PASSWORD mypass"

could work, I think.
--
Devrim GÜNDÜZ, RHCE
devrim~gunduz.org, devrim~PostgreSQL.org, devrim.gunduz~linux.org.tr
                   http://www.gunduz.org

Attachment