Chapter 3. AddUser-NG cabilities

Table of Contents

Plugins
User interface
Configuration
adduser-ng.conf
Group files (plugins configuration)

While designing AddUser-NG, we followed some guidelines, here they are:

Thanks to these guidelines, it is the user who decides how the program is working. Now, we will describe how it was acomplished.

Plugins

Plugins extend functionality of the program. AddUser-NG itself is only capable of loading the plugins. All basic operations, like adding users or groups, is done by standard plugins, that are shipped with the program).

While configuring AddUser-NG, the user chooses which plugins are to be loaded and configures them. The precise configuration process is described in the section called “Configuration” section.

As the whole program functionality is based on plugins, it is crucial to know at least basic informations on plugins configuration.

When the plugins are loaded, the following actions are taken for each of them:

  1. Each plugin is configured, it means that the values for every plugin option are set up. If an option is not defined, user is asked for its value through UI (user interface).

    If there is an error during the configuration process, program quits, with no changes made.

  2. When all plugins are configured, the program itself starts (“plugins' execution stage”). That means the realization of all the tasks each plugin is supposed to do. It is the main stage of the AddUser-NG. At this moment user is being added, quota is set up, etc.

    If any error occurs during this stage, no further plugins are loaded, and process of restoring previous state is started. Its task is to run for each plugin (in reversed order, starting from plugin that failed to load) the rollback method, that will restore all changes made. If you are not a developer, all you really need to know is that if something fails, AddUser-NG will simply remove any changes made to the system.

In the standard program distribution you can find the following packages:

  • GroupAdd - this plugin is responsible for adding a group to the system

  • UserAdd - adds a new user

  • PasswdUser - sets a password for a new user

These plugins give only the basic functionality. In order to gain better functionality, additional plugins are available (for example the “Quota” plugin) as source packages (and Debian packages), so anyone could choose, which plugin he (or she) needs. There is also a possibility of writing your own plugins. More detailed information on this subject can be found in developer documentation.

The precise description of all plugins and their options can be found in the project documentation directory.