Quickly add user accounts to the system and force a password change on first login

for name in larry moe schemp; do useradd $name; echo 'password' | passwd --stdin $name; chage -d 0 $name; done
This command is a bit Linux specific, as --stdin doesn't exist for passwd on many Unix machines. Further, useradd is high level in most distributions and Unix derivatives except for the Debian family of distros, where adduser would be more appropriate. The last bit, with chage, will force the user to change their password on new login.

By: atoponce
2009-03-15 12:02:39

What Others Think

the word 'chage'; is it right?
gadget00 · 624 weeks and 5 days ago
Yes- "change password aging".
atoponce · 624 weeks and 5 days ago
'-e' can be passed directly to 'passwd'. This immediately expires the password making 'chage' redundant in this example.
rjc · 624 weeks and 4 days ago
@rjc This is only true for passwd coming from the GNU passwd package, and as such not 100% portable. For example on HP-UX 11.11 and Solaris 10, 'passwd -e' is used to modify the login shell.
atoponce · 624 weeks and 3 days ago

What do you think?

Any thoughts on this command? Does it work on your machine? Can you do the same thing with only 14 characters?

You must be signed in to comment.

What's this?

commandlinefu.com is the place to record those command-line gems that you return to again and again. That way others can gain from your CLI wisdom and you from theirs too. All commands can be commented on, discussed and voted up or down.

Share Your Commands

Stay in the loop…

Follow the Tweets.

Every new command is wrapped in a tweet and posted to Twitter. Following the stream is a great way of staying abreast of the latest commands. For the more discerning, there are Twitter accounts for commands that get a minimum of 3 and 10 votes - that way only the great commands get tweeted.

» http://twitter.com/commandlinefu
» http://twitter.com/commandlinefu3
» http://twitter.com/commandlinefu10

Subscribe to the feeds.

Use your favourite RSS aggregator to stay in touch with the latest commands. There are feeds mirroring the 3 Twitter streams as well as for virtually every other subset (users, tags, functions,…):

Subscribe to the feed for: