userneu/userquick - A perl script to automatically create user
    accounts
userneu [ -cdhrsy ]
    [ -i input file ]
    [ -g [primary group] ]
    [ -b [base directory for $HOME] ]
    [ -S [smbpasswd binary] ]
    [ -o [Output file] ]
    [ -m [minimum password length] ]
    [ -x [maximum password length] ]
    [  -D [descriptors] ]
    [ -f [configuration file] ]
    [ -G [member groups] ]
    [ -t [delimiter] ]
    [ [ -T [target system] ]
    [ -O [shellscript output] ]
userquick [ -cdhrsy ]
    [ -u user information of single user ]
    [ -g primary group ]
    [ -b [base directory for $HOME] ]
    [ -S [smbpasswd binary] ]
    [ -o [Output file] ]
    [ -m [minimum password length] ]
    [ -x [maximum password length] ]
    [  -D [descriptors] ]
    [ -f [configuration file] ]
    [ -G [member groups] ]
    [ [ -T [target system] ]
    [ -O [shellscript output] ]
userneu can either be invoked as 'userquick' or as 'userneu'. If
    it is called as 'userneu' it processes a list of usernames and other
    information and creates user accounts based on that. If it is called as
    'userquick' it creates one single account based on information given on the
    command line. The possible command line options are:
  - -c
 
  - Create a shell script that does the account creation work on systems on
      systems that don't come with a Perl distribution.
 
  - -d
 
  - Enable the "dupe engine" which tries to "bruteforce" a
      username that doesn't exist yet by appending one or two random characters
      to already existing usernames it encounters. This is disabled by
    default.
 
  - -h
 
  - Display usage information.
 
  - -r
 
  - Create strong passwords which means completely random strings of misc case
      letters, special characters and numbers with a length of 10 characters (if
      no different length is specified using the -m and -x switches). By default
      this is disabled and the script creates passwords that are only composed
      of random lowercase letters with a length of 8 characters.
 
  - -s
 
  - Create Samba accounts in addition to traditional unix accounts. By default
      this is disabled.
 
  - -y
 
  - Append the "school year" to the GECOS field which is the period
      between some day in September and some day in July and is therefore
      composed of two calender years. I only included this because I originally
      wrote this script for creating user accounts on my school's network. If
      you need this option you probably know what I'm talking about, if not you
      can safely ignore this as it is disabled by default anyway.
 
  - -i [input file]
 
  - This option is only relevant if the script is called as userneu. It takes
      the location of the input file from which to read the user information as
      argument. Use "-" for STDIN.
 
  - -g [primary group]
 
  - Specify the primary group for the users to be created, defaults to
      'users'. If this is a percent sign followed by a number (and the script is
      called as userneu) the script reads the primary group information from the
      field in the input file denoted by that number, e.g. a value of '%4'
      causes the script to use the value in the 4th field of the input vile as
      primary group. This is useful if you don't want to specify the primary
      group globally for all new users but individually for each user.
 
  - -G [member group1,member group2,...]
 
  - Specify a comma separated list of member groups for the users to be
      created. If this is a percent sign followed by a number (and the script is
      called as userneu) the script reads the member group information from the
      field in the input file denoted by that number, e.g. a value of '%4'
      causes the script to use a comma-separated list of groups in the 4th field
      of the input file as member groups. This is useful if you don't want to
      specify the primary group globally for all new users but individually for
      each user.
 
  - -B [directory]
 
  - Specify the directory where the home directories of the created users will
      be placed. Defaults to "/home/$group"
      where $group is the primary group of the
    users.
 
  - -S [location of smbpasswd(8)]
 
  - Specify the location of smbpasswd(8). Defaults to
      "/usr/local/bin/smbpasswd". This implies
      -s.
 
  - -o [output file]
 
  - Specify the location of the output file in which account information is
      stored. Defaults to 'useraccounts' CAUTION: This file contains
      cleartext passwords and should be well protected. Although the script
      changes it's mode to 0600 it is no good idea to keep it arround longer
      than needed. This option is only relevant if the script is called as
      'userneu', if it is called as 'userquick' it will just print that
      information on the screen. Use "-" for STDOUT.
 
  - -m [minimum password length]
 
  - Specify the minimum password length. This overrides the default value of 8
      characters (no -r option given) or 10 characters (-r option given).
 
  - -x [maximum passsword length]
 
  - Specify the maximum password length. This overrides the default value of 8
      characters (no -r option given) or 10 characters (-r option given).
 
  - -D [descriptor1;descriptor2;...]
 
  - Specify a semicolon separated list of descriptors for the fields in the
      input. The length of this list has to match the actual fields being
      present. This is relevant to either the input file of 'userneu' or the -u
      option of 'userquick'.
 
  - -f [configuration file
 
  - Specify the location of the configuration file. Defaults to
      /etc/userneu.conf.
 
  - -t [delimiter]
 
  - Specify the delimiter for the fields in the input file as perl regular
      expression (slash delimited). The default is
      "/\t/", which means the fields are
      separated by tabs. This is only relevant if the script is called as
      'userneu'.
 
  - -T [Target System]
 
  - Specify the target system for which to generate a shell script for adding
      users. Implies -c. If -c is given but not -T this defaults to the OS the
      script is run on.
 
  - -O [shellscript output]
 
  - Specify the location of the shell script for creating users. Implies -c.
      If -c is given but not -O this defaults to
      "createusers.sh". Use "-" for
      STDOUT.
 
 /etc/userneu.conf              Configuration file of userneu/userquick
 Johannes Grassler <johannes.grassler@freenet.de>