man adduser
:
If the file /usr/local/sbin/adduser.local exists, it will be executed
after the user account has been set up in order to do any local setup.
The arguments passed to adduser.local are:
username uid gid home-directory
The environment variable VERBOSE is set according to the following rule:
0 if --quiet is specified
1 if neither --quiet nor --debug is specified
2 if --debug is specified
(The same applies to the variable DEBUG, but DEBUG is deprecated and will be removed in a later version of adduser.)
This should be exactly what you want. (If you are on a Debian distro at least)
Edit: or if it's OK to add the directory in /home/username/work
or whatever, you can use SKEL
:
adduser will copy files from SKEL into the home directory and prompt
for finger (gecos) information and a password. The gecos may also be
set with the --gecos option. With the --disabled-login option,
the
account will be created but will be disabled until a password is set. The --disabled-password option will not set a password, but
login is still possible (for example with SSH RSA keys).