[CentOS] Add instantly active local user accounts *with* password using useradd -p option ?
Chris Geldenhuis
chris.gelden at iafrica.com
Thu Jul 9 07:33:18 UTC 2009
Niki Kovacs wrote:
> Hi,
>
> I need to setup a load of user accounts on a series of machines, for
> testing purposes. I'm using a script to do this, but the only problem I
> have so far: I have to activate them all manually by doing passwd user1,
> passwd user2, passwd user3, etcetera. The useradd man page mentions a -p
> option to define a password, but I can't seem to get this to work.
> Here's what I'd like to be able to do:
>
> # useradd -c "Gaston Lagaffe" -p abc123 -m glagaffe
>
> And put that line in a script, so the account is *instantly* activated.
> I tried it, but to no avail. Looks like there's some burning loop I have
> to jump through first :o)
>
> No security considerations here for the moment, since it's for testing.
>
> Any idea how this works?
>
> Niki
> _______________________________________________
> CentOS mailing list
> CentOS at centos.org
> http://lists.centos.org/mailman/listinfo/centos
>
>
Hi Niki,
I have a script called "usergen" that does this for 1 user at a time.
You can wrap this in a loop and feed it a list of names for the accounts
that you need to create.
The script is:
PWD=`mkpasswd -l 8 -s 2`; export PWD
echo "user = $1 password = $PWD"
/usr/sbin/useradd -c "$2" -m -k /home/skeleton -n -p $PWD $1
echo $PWD| passwd --stdin $1
You can of course vary the parameters for password generation by
changing the length (-l) and allowing special characters etc.
The directory /home/skeleton contains all the files that you need to set
up in each user's account. This can also be a customized .bashrc to set
environmental variables etc. The line with the echo command is there so
that you have a record of the password generated for each user.
Hope this helps
ChrisG
More information about the CentOS
mailing list