Name                    Last modified      Size  Description
Parent Directory                             -   
doc/                    2008-07-05 17:10    -   
Debian/                 2008-07-05 17:10    -   
deluser                 2008-07-05 17:10  1.4K  
delgroup                2008-07-05 17:10  1.0K  
adduser-ng.conf         2008-07-05 17:10  4.1K  
adduser                 2008-07-05 17:10  4.0K  
addgroup                2008-07-05 17:10  1.3K  
TODO                    2008-07-05 17:10  2.3K  
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.