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
|