Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Was wondering if someone could point me in the right direction.

I'm wanting to create a simple bash script to create user account.

The script will need to prompt the admin for a username and password for the new user. The user will need to be assigned to a group and their home directory needs to be changed to a standard default one that all users will use.

Any help would be great.

Thanks, G

share|improve this question

closed as off-topic by Iain, EEAA, MadHatter, Zoredache, Ward Jul 1 '14 at 18:28

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions must demonstrate a minimal understanding of the problem being solved. Try including attempted solutions, why they didn't work, and the expected results. See How can I ask better questions on Server Fault? for further guidance." – EEAA, MadHatter
If this question can be reworded to fit the rules in the help center, please edit the question.

We generally don't write scripts for people but we are generally happy to help if you have a specific problem. This which I found via google might be a good place to start – Iain Jul 1 '14 at 15:30
Are you having some specific problem here? – Zoredache Jul 1 '14 at 17:23

You're in luck! that "script" is already on your system)

[alexus@wcmisdlin02 ~]$ useradd 
Usage: useradd [options] LOGIN

  -b, --base-dir BASE_DIR       base directory for the home directory of the
                                new account
  -c, --comment COMMENT         GECOS field of the new account
  -d, --home-dir HOME_DIR       home directory of the new account
  -D, --defaults                print or change default useradd configuration
  -e, --expiredate EXPIRE_DATE  expiration date of the new account
  -f, --inactive INACTIVE       password inactivity period of the new account
  -g, --gid GROUP               name or ID of the primary group of the new
  -G, --groups GROUPS           list of supplementary groups of the new
  -h, --help                    display this help message and exit
  -k, --skel SKEL_DIR           use this alternative skeleton directory
  -K, --key KEY=VALUE           override /etc/login.defs defaults
  -l, --no-log-init             do not add the user to the lastlog and
                                faillog databases
  -m, --create-home             create the user's home directory
  -M, --no-create-home          do not create the user's home directory
  -N, --no-user-group           do not create a group with the same name as
                                the user
  -o, --non-unique              allow to create users with duplicate
                                (non-unique) UID
  -p, --password PASSWORD       encrypted password of the new account
  -r, --system                  create a system account
  -s, --shell SHELL             login shell of the new account
  -u, --uid UID                 user ID of the new account
  -U, --user-group              create a group with the same name as the user
  -Z, --selinux-user SEUSER     use a specific SEUSER for the SELinux user mapping

[alexus@wcmisdlin02 ~]$ 
share|improve this answer
The questioner doesn't say (s)he's on ubuntu. – MadHatter Jul 1 '14 at 15:53
@MadHatter What is Ubuntu has to do with anything?? – alexus Jul 1 '14 at 15:55
RedHat and variants don't have adduser. – MadHatter Jul 1 '14 at 15:56
Actually OP didn't specified OS (REDHAT OR Ubuntu) and I'm on REDHAT (that's where I copy and paste output of adduser command). – alexus Jul 1 '14 at 15:57
(1) I agree, which is why I thought a distro-specific answer that didn't spell out the limitation was a bit naff, and (2) that looks an awful lot like the output from useradd --help. Is there any possibility that you're just using an alias? – MadHatter Jul 1 '14 at 15:59

Why do you create a script ? Configure correctely /etc/adduser.conf and use adduser...

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.