summaryrefslogtreecommitdiffstats
path: root/examples/README
blob: f12e705129784e438419ebadb250bb08f820e887 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
**************************************************************************
*                                                                        *
*                   ADDUSER Local System Additions v4.9                  *
*                 Copyright (C) 1999-2013, 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 "adduser.local.conf.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 --pr=t ./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 --pr=t ./adduser.local.conf.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 "adduser.local.conf.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 warmly
welcomed!  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