User Directory and Authentication

PaperCut MF synchronizes its user directory with the underlying operating system or network. The Linux version of PaperCut MF ships with two user directory implementations. Due to the nature of Linux, some organizations may have customized user directory implementations. PaperCut MF can support customization in this area. This section details the user/group/authentication options available as standard, as well has how one would go about developing customized implementation.

Standard Unix

The Standard Unix user directory provider uses standard Unix API's to enumerate user and group information. This allows group information to be defined on either the local system or via another source as configured via nsswitch.conf. For example, the system may be configured via nsswitch.conf to obtain user directory information from a centralized LDAP server or Novell's eDirectory.

User password authentication is performed via PAM. (Note: For administrators wishing to customize the PAM authentication method at the application level, PaperCut MF reports itself as "papercut".)

Samba/Windows Domain

If the user and group information is provided by a Windows Domain such as an NT Style Domain or Active Directory, the Samba option is most appropriate. This option would normally be used on networks where the printers are hosted on a Linux server and exposed to Windows users via Samba.

At the technical level, the Samba support is implemented as a set of Perl script wrappers around standard Samba commands such as net and smbclient. Administrators should ensure these Samba commands are on the papercut user's path.

Custom

Some large networks, particularly those found at established universities, may have custom user directory and authentication services not directly supported by PaperCut MF. To support these networks, administrators can use scripting and other technologies to build a new custom User Directory Information Provider.

PaperCut MF works by handing off user, group and user authentication tasks to a separate program/process. The external process must accept a set of commands as command-line arguments and return the answer in a tab delimited prescribed format on standard out. More information on the format can be found in the section called “Custom User Directory Information Providers”. The source code for the standard PaperCut MF supplied User Directory Information Provider are also supplied as part of the installation, and these may prove to be a good example. The source code is provided in:

    ~/server/bin/linux-i686/src/
    ~/server/bin/linux-i686/sambauserdir
    ~/server/bin/linux-i686/authsamba
                

Organizations wishing to build a custom User Directory Information Provider are encouraged to contact the PaperCut MF development team. They will be more than happy to assist.