************************************************************************** * * * ADDUSER Local System Additions v4.6 * * Copyright (C) 1999-2004, John Zaitseff * * * ************************************************************************** Welcome to the ADDUSER Local System Additions program! This program, once installed as /usr/local/sbin/adduser.local, works in conjunction with the Debian adduser(8) command to extend the creation of your user accounts. As a system administrator, you are often faced with a long list of "things to do" when creating a new user account. For example, if you have configured FTP and Web servers, you would probably have to create a directory within their directories for the new user, possibly copy a skeleton "index.html" file into the proper location, add the user to the "ftp" and "www" groups and so on. All, naturally, without forgetting any vital step! The adduser.local program automates much of this for you. By modifying the program's configuration file, /etc/adduser.local.conf, to match your local requirements, this program can automatically add a user to supplementary groups, create directories and symbolic links and copy skeleton files to the newly-created directories. Note that once you install this program (and edit the configuration file), you will never need to directly run adduser.local: the Debian adduser(8) command automatically calls adduser.local with the correct parameters. If you like, however, you CAN run adduser.local directly (try the "--help" parameter for a brief command-line summary), such as for user accounts that have already been created. The adduser.local program is written in Perl (with comments!), and comes with a sample configuration file that is extensively documented. In fact, the sample adduser.local.conf file is probably all you will need to read, once you have installed the program. A number of sample files are also included in the "examples" directory --- do what you like with these. To illustrate the program's simplicity, the following lines have been taken almost verbatim from the sample configuration file: service = web user[web] = www addtogroup[web] = true homedir[web] = "" subdir[web] = "doc/users" althome[web] = false mkdir[web] = true chgrpdir[web] = true mklink[web] = true linkname[web] = "public_html" skelfile[web] = "index.html" chgrpskel[web] = true Assuming adduser(8) was called for the user "john", and the system user "www" belongs to the group "www" and has the home directory "/home/www" (in actual fact, all these values are taken from the password database), the following actions are performed by this program: - the user "john" is added to the group "www", - the directory "/home/www/doc/users/john" is created, owned by the user "john" and with group owner "www", - the link "public_html" is created in the user "john"'s home directory to point to this directory, - the file "/etc/skel.other/index.html" is copied to this directory, owned by the user "john" and with group owner "www". For more details, just read through the sample configuration file. INSTALLATION ============ Installation of the adduser.local program is quite easy. Simply follow these steps as root: 1. Copy the actual program to the correct location: # cp ./adduser.local /usr/local/sbin # chmod 755 /usr/local/sbin/adduser.local 2. Copy the configuration file to the correct location: # cp ./adduser.local.conf /etc 3. Edit the configuration file with your favourite editor. You should modify the file as appropriate to your requirements. The sample configuration file is extensively self-documented. # editor /etc/adduser.local.conf 4. Create the "other" skeleton directory and populate it with your own files. For example: # mkdir /etc/skel.other # cp ./examples/skel.other/index.html /etc/skel.other 5. You are finished. The main reason you have to install this program manually is so that you do not forget to do Step 3, the most important one! LICENSE ======= The adduser.local program is distributed under the terms of the GNU General Public License. The copyright on this program belongs to John Zaitseff. The actual license appears in the file COPYING, or, on a Debian GNU/Linux system, in the file /usr/share/common-license/GPL. Even though the GNU General Public License does NOT require you to send your modifications back to the author, it is considered "good form" to do so, as this allows your modifications to be incorporated into future versions of the program, allowing others to benefit from them. All files in the "examples" directory are released into the public domain and are NOT covered by the GNU General Public License. FEEDBACK ======== Your comments, suggestions, corrections and enhancements are always welcome! Please send these to: Postal: John Zaitseff, Unit 6, 116 Woodburn Road, Berala, NSW, 2141, Australia. E-mail: J.Zaitseff@zap.org.au Web: http://www.zap.org.au/software/utils/adduser.local/ FTP: ftp://ftp.zap.org.au/pub/utils/adduser.local/adduser.local.tar.gz