Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

pam_duo(8) [debian man page]

PAM_DUO(8)						    BSD System Manager's Manual 						PAM_DUO(8)

NAME
pam_duo -- PAM module for Duo authentication SYNOPSIS
pam_duo.so [conf=<FILENAME>] DESCRIPTION
pam_duo provides secondary authentication (typically after successful password-based authentication) through the Duo authentication service. OPTIONS
PAM module configuration options supported: conf Specify an alternate configuration file to load. Default is /etc/duo/pam_duo.conf debug Debug mode; send log messages to stderr instead of syslog. CONFIGURATION
The INI-format configuration file must have a ``duo'' section with the following options: host Duo API host (required). ikey Duo integration key (required). skey Duo secret key (required). groups If specified, Duo authentication is required only for users whose primary group or supplementary group list matches one of the space-separated pattern-lists (see PATTERNS below). failmode On service or configuration errors that prevent Duo authentication, fail ``safe'' (allow access) or ``secure'' (deny access). Default is ``safe''. pushinfo Send command to be approved via Duo Push authentication. Default is ``no''. An example configuration file: [duo] host = api-deadbeef.duosecurity.com ikey = SI9F...53RI skey = 4MjR...Q2NmRiM2Q1Y pushinfo = yes Other authentication restrictions may be implemented using pam_listfile(8), pam_access(8), etc. PATTERNS
A pattern consists of zero or more non-whitespace characters, '*' (a wildcard that matches zero or more characters), or '?' (a wildcard that matches exactly one character). A pattern-list is a comma-separated list of patterns. Patterns within pattern-lists may be negated by preceding them with an exclamation mark ('!'). For example, to specify Duo authentication for all users (except those that are also admins), and for guests: groups = users,!wheel,!*admin guests FILES
/etc/duo/pam_duo.conf Default configuration file path AUTHORS
pam_duo was written by Duo Security <duo_unix@duosecurity.com> NOTES
When used with OpenSSH's sshd(8), only PAM-based authentication can be protected with this module; pubkey authentication bypasses PAM entirely. OpenSSH's PAM integration also does not honor an interactive pam_conv(3) conversation, prohibiting real-time Duo status messages (such as during voice callback). BSD
September 3, 2010 BSD

Check Out this Related Man Page

DUO(3)							   BSD Library Functions Manual 						    DUO(3)

NAME
duo -- Duo authentication service SYNOPSIS
#include <duo.h> duo_t * duo_open(const char *ikey, const char *skey, const char *progname, const char *cafile); void duo_set_conv_funcs(duo_t *d, char *(*conv_prompt)(void *conv_arg, const char *, char *, size_t), void (*conv_status)(void *conv_arg, const char *msg), void *conv_arg); void duo_set_host(duo_t *d, const char *hostname); void duo_set_ssl_verify(duo_t *d, int bool); duo_code_t duo_login(duo_t *d, const char *username, const char *client_ip, int flags, const char *command); const char * duo_geterr(duo_t *d); void duo_close(duo_t *d); DESCRIPTION
The duo API provides access to the Duo two-factor authentication service. duo_open() is used to obtain a handle to the Duo service. ikey and skey are the required integration and secret keys, respectively, for a Duo customer account. progname identifies the program to the Duo service. cafile should be NULL or the pathname of a PEM-format CA certifi- cate to override the default. duo_set_conv_funcs() may be used to override the internal user conversation functions. conv_prompt is called to present the user a login menu and prompt, and gather their response, returning buf or NULL on error. It may be set to NULL if automatic login is specified with DUO_FLAG_AUTO. conv_status is called to display status messages to the user, and may be NULL if no status display is needed. conv_arg is passed as the first argument to these conversation functions. duo_set_host() may be used to override the default Duo API host. duo_set_ssl_verify() may be used to override SSL certificate verification (enabled by default). duo_login() performs secondary authentication via the Duo service for the specified username. client_ip is the source IP address of the con- nection to be authenticated, or NULL to specify the local host. The following bitmask values are defined for flags: DUO_FLAG_AUTO Attempt authentication without prompting the user, using their default out-of-band authentication factor. DUO_FLAG_SYNC Do not report incremental status during authentication (e.g. voice callback progress) - only issue one status message per authentication attempt. If not NULL, the command to be authorized will be displayed during push authentication. duo_geterr() returns a description of the last-seen error on the specified Duo API handle. The returned constant string should not be modi- fied or freed by the caller. duo_close() closes and frees the specified Duo API handle. RETURN VALUES
duo_open() returns a pointer to the configured Duo API handle, or NULL on failure. duo_login() returns status codes of type duo_code_t, which may have the following values: DUO_OK User authenticated DUO_FAIL User failed to authenticate DUO_ABORT User denied by policy DUO_LIB_ERROR Unexpected library error DUO_CONN_ERROR Duo service unreachable DUO_CLIENT_ERROR Invalid client parameters to API call DUO_SERVER_ERROR Duo service error In the event of a DUO_*_ERROR return, duo_geterr may be called to recover a human-readable error message. duo_geterr() returns a constant string which should not be modified or freed by the caller. SEE ALSO
pam_duo(8), login_duo(1) AUTHORS
Duo Security <duo_unix@duosecurity.com> BSD
October 31, 2010 BSD
Man Page