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>