Advanced Unix-based networks for commercial and education sectors.
Name Last modified Size Description Parent Directory - Debian/ 05-Jul-2008 17:10 - doc/ 05-Jul-2008 17:10 - README 05-Jul-2008 17:10 5.2K TODO 05-Jul-2008 17:10 2.3K addgroup 05-Jul-2008 17:10 1.3K adduser 05-Jul-2008 17:10 4.0K adduser-ng.conf 05-Jul-2008 17:10 4.1K delgroup 05-Jul-2008 17:10 1.0K deluser 05-Jul-2008 17:10 1.4K
adduser-ng:
(C) 2006-2008 Davor Ocelic, docelic@spinlocksolutions.com
SPINLOCK, http://www.spinlocksolutions.com/
A redesign of the traditional Debian 'adduser' suite, with modular
design and built-in modules for:
- traditional Unix file-based accounts
- OpenLDAP http://www.OpenLDAP.org/
- MIT Kerberos 5 http://web.mit.edu/kerberos/
- OpenAFS http://www.OpenAFS.org/
- Coda http://coda.cs.cmu.edu/
As a side benefit, adduser-ng includes better codebase, unified
error reporting, proper exit codes, and complete undo facility for
fail-in-the-middle cases.
This is free software; released under the GNU GPL (version 2 higher).
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
1) Installation
Keep everything in a single directory and run from there.
Alternatively, copy the executable scripts and man pages to appropriate
filesystem locations, and make sure that the Debian/Adduser directory is
copied in Perl search path (or modify `use lib ".";` line in the scripts).
Package maintainers - you know what to do with the files; remember also
to disable disable `use lib "."` in the scripts.
2) Description
The various available commands (adduser, addgroup, deluser, del...) are
small frontends that take care of correctly reading in program-specific
options and invoking the backend that loads and runs all appropriate
modules.
If needed, any program can be used to perform any function, by manually
setting the operation mode using --action. However, calling properly-
named programs which support the correct argument lists and letting
the built-in code figure things on its own from executable file names
is preferred, of course.
2) Basic usage
Basic usage is mostly (if not completely) compatible with the
traditional 'adduser'.
Notice that the adduser-ng.conf is similar to the old config file,
but has been expanded with a bunch of options; some more useful to
the end users than others.
There have been new directives added to support modules; the following
module-specific configuration is the simplest way to operate only on
the system's /etc/{passwd,shadow,group} files and therefore provide
compatibility with the old adduser:
BACKEND_USER = group, account
BACKEND_GROUP = group
All options are listed and explained in the sample adduser-ng.conf --
refer to it for all configuration elements.
3) Option matrix
As various modules (and actions that adduser suite supports) quickly
create a lot of different combinations, refer to the table below for
the state of code for your particular set up.
Note that the modules are intended to and do run independently from each
other, so module interdependencies need not be represented.
==== OPERATION =========== MODULE =============
| |Grp/files | Account/files |
-----------------------|----------| ---------------
| Add user+group | OK | OK(2) |
| Add sysuser+sysgroup | OK | OK(2) |
| Add user | -NA | OK(2) |
| Add sysuser | -NA | OK(2) |
| Add group | OK(1) | -NA |
| Add sysgroup | OK(1) | -NA |
| Add user to group | OK | OK |
| Del user+group | -NA | OK(4) |
| Del sysuser+sysgroup | -NA | OK(4) |
| Del user | -NA | |
| Del sysuser | -NA | |
| Del group | OK | -NA |
| Del sysgroup | OK | -NA |
| Del user from group | OK | |
`-------------------------------------------------'
==== OPERATION ============ MODULE ======================
| | Kerberos | LDAP | AFS | Coda |
-------------------------------------------------------------
| Add user+group | -NA | | | |
| Add sysuser+sysgroup | -NA | | | |
| Add user | OK | | | |
| Add sysuser | OK | | | |
| Add group | -NA | | | |
| Add sysgroup | -NA | | | |
| Add user to group | -NA | | | |
| Del user+group | -NA | | | |
| Del sysuser+sysgroup | -NA | | | |
| Del user | | | | |
| Del sysuser | | | | |
| Del group | -NA | | | |
| Del sysgroup | -NA | | | |
| Del user from group | -NA | | | |
`-----------------------------------------------------------'
-NA - Not Applicable
OK - Works as expected
Empty - Unknown / Non-existent
(1) - Setting group password does not work
(2) - Options related to extra groups don't work
(3) - Does its part of the work well
(4) - Deletes group if empty, otherwise leaves it
ERROR CODES
- 20: At least one argument must be provided.
- 21: At most two arguments can be provided.
- 22: At most one argument can be provided.
- 23: The Unix group `%s' was not created.
