Hallo, dies ist ein Test.
PWD: /www/data-lst1/unixsoft/unixsoft/kaempfer/.public_html
Running in File Mode
Relative path: ././../../../../../../usr/man/man3rad/pam-1.3rad
Real path: /usr/share/man/man3rad/pam-1.3rad
Zurück
'\" t .\" Title: pam-1 .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Date: 2017-06-28 .\" Manual: RAD Module Definitions .\" Source: Solaris 11.4 .\" Language: English .\" .TH "PAM\-1" "3rad" "2017\-06\-28" "Solaris 11.4" "RAD Module Definitions" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" pam \- Legacy API for PAM authentication .SH "SYNOPSIS" .nf #include <rad/client/1/pam\&.h> cc [ flag\&.\&.\&. ] file\&.\&.\&. \fB\-lpam1_client\fR [ library\&.\&.\&. ] .fi .SS "interface Authentication" .nf const char *\ \&user\ \&; (ro) .fi .nf const char **\ \&roles\ \&; (ro) .fi .nf int\ \&connectionTimeout\ \&; (ro) .fi .nf .HP \w'rc_err_t\ \fBpam_Authentication_login\fR('u .R rc_err_t \fBpam_Authentication_login\fR(rc_instance_t\ *inst, . const\ char\ *locale, . const\ char\ *username, . pam_Block_t\ **result); .RS .RE .fi .nf .HP \w'rc_err_t\ \fBpam_Authentication_assume\fR('u .R rc_err_t \fBpam_Authentication_assume\fR(rc_instance_t\ *inst, . const\ char\ *locale, . const\ char\ *rolename, . pam_Block_t\ **result); .RS .RE .fi .nf .HP \w'rc_err_t\ \fBpam_Authentication_submit\fR('u .R rc_err_t \fBpam_Authentication_submit\fR(rc_instance_t\ *inst, . const\ char\ **responses, . int\ responses_count, . pam_Block_t\ **result); .RS .RE .fi .nf .HP \w'rc_err_t\ \fBpam_Authentication_complete\fR('u .R rc_err_t \fBpam_Authentication_complete\fR(rc_instance_t\ *inst); .RS .RE .fi .SS "Enumerated Types" .PP \fBenum MsgType\fR .\" blockquote { .RS 4 .PP .nf typedef enum pam_MsgType { PMT_PROMPT_ECHO_OFF = 0, PMT_PROMPT_ECHO_ON = 1, PMT_ERROR_MSG = 2, PMT_TEXT_INFO = 3, } pam_MsgType_t; .fi .RE .\" } blockquote .PP \fBenum BlockType\fR .\" blockquote { .RS 4 .PP .nf typedef enum pam_BlockType { PBT_CONV = 0, PBT_SUCCESS = 1, PBT_ERROR = 2, } pam_BlockType_t; .fi .RE .\" } blockquote .SS "Structured Types" .PP \fBstruct Message\fR .\" blockquote { .RS 4 .PP typedef struct pam_Message pam_Message_t; .PP .nf struct pam_Message { pam_MsgType_t pm_style; char *pm_message; }; .fi .nf .HP \w'void\ \fBpam_Message_free\fR('u .R void \fBpam_Message_free\fR(pam_Message_t\ *in); .RS .RE .fi .RE .\" } blockquote .PP \fBstruct Block\fR .\" blockquote { .RS 4 .PP typedef struct pam_Block pam_Block_t; .PP .nf struct pam_Block { pam_BlockType_t pb_type; pam_Message_t **pb_messages; int pb_messages_count; }; .fi .nf .HP \w'void\ \fBpam_Block_free\fR('u .R void \fBpam_Block_free\fR(pam_Block_t\ *in); .RS .RE .fi .RE .\" } blockquote .SH "DESCRIPTION" .PP \fBAPI com\&.oracle\&.solaris\&.rad\&.pam \fR\fB\&\s-2\u[1]\d\s+2\fR .PP \fBThis is a legacy RAD authentication interface provided for backwards compatibility only and not meant to be used directly\&. Please use authentication(3rad) instead\&. \fR .PP This API exposes PAM authentication to \fBrad(8)\fR clients\&. .SH "INTERFACES" .SS "interface Authentication" .PP .PP The authentication interface implements a PAM exchange to authenticate \fBrad(8)\fR clients\&. Handles to this type of object can be retrieved from the RAD server using an object name built with: .sp .RS 4 .ie n \{\ \h'-04' 1.\h'+01'\c .\} .el \{\ .sp -1 .IP " 1." 4.2 .\} the "com\&.oracle\&.solaris\&.rad\&.pam" domain name .RE .sp .RS 4 .ie n \{\ \h'-04' 2.\h'+01'\c .\} .el \{\ .sp -1 .IP " 2." 4.2 .\} a key named "type" paired with a value of "Authentication" .RE .PP The login() method begins a PAM conversation to authenticate as a user, while assume() does the same for a role\&. Each returns a list of Block objects encapsulating the status of the conversation, the messages that should be displayed, and the input that should be collected\&. .PP At each step, when the requested input has been collected, it is submitted using submit()\&. This method also returns a list of Block objects, allowing the conversation to continue indefinitely until authentication is complete\&. .PP When any of the three returns a Block whose type is SUCCESS, authentication has succeeded and complete() should be called to close the conversation\&. .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBAuthentication Properties\fR .RS 4 .PP \fB\fIconst char *\fR\fR\ \&\fBuser\fR (\fIread\-only\fR, \fInullable\fR) \(em gets the username of the connected user .\" blockquote { .RS 4 .nf .HP \w'rc_err_t\ \fBpam_Authentication_get_user\fR('u .R rc_err_t \fBpam_Authentication_get_user\fR(rc_instance_t\ *inst, . char\ **result); .RS .RE .fi .\" blockquote { .RS 4 .PP Get property value\&. .PP \fBArguments:\fR .PP \fIinst\fR \(em RAD instance .PP \fIresult\fR \(em Property value returned .RE .\" } blockquote .RE .\" } blockquote .PP \fB\fIconst char **\fR\fR\ \&\fBroles\fR (\fIread\-only\fR) \(em gets the list of roles available to the connected user .\" blockquote { .RS 4 .nf .HP \w'rc_err_t\ \fBpam_Authentication_get_roles\fR('u .R rc_err_t \fBpam_Authentication_get_roles\fR(rc_instance_t\ *inst, . char\ ***result, . int\ *result_cnt); .RS .RE .fi .\" blockquote { .RS 4 .PP Get property value\&. .PP \fBArguments:\fR .PP \fIinst\fR \(em RAD instance .PP \fIresult\fR \(em Property value returned .PP \fIresult_cnt\fR \(em Number of items in result array .RE .\" } blockquote .RE .\" } blockquote .PP \fB\fIint\fR\fR\ \&\fBconnectionTimeout\fR (\fIread\-only\fR) \(em the PAM conversation timeout, in seconds .\" blockquote { .RS 4 .nf .HP \w'rc_err_t\ \fBpam_Authentication_get_connectionTimeout\fR('u .R rc_err_t \fBpam_Authentication_get_connectionTimeout\fR(rc_instance_t\ *inst, . int\ *result); .RS .RE .fi .\" blockquote { .RS 4 .PP Get property value\&. .PP \fBArguments:\fR .PP \fIinst\fR \(em RAD instance .PP \fIresult\fR \(em Property value returned .RE .\" } blockquote .RE .\" } blockquote .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBAuthentication Methods\fR .RS 4 .nf .HP \w'rc_err_t\ \fBpam_Authentication_login\fR('u .R rc_err_t \fBpam_Authentication_login\fR(rc_instance_t\ *inst, . const\ char\ *locale, . const\ char\ *username, . pam_Block_t\ **result); .RS .RE .fi .\" blockquote { .RS 4 .PP begins a PAM conversation to authenticate as the specified user .PP \fBArguments:\fR .PP \fIinst\fR \(em RAD instance .PP \fIlocale\fR .PP \fIusername\fR .PP \fIresult\fR .RE .\" } blockquote .nf .HP \w'rc_err_t\ \fBpam_Authentication_assume\fR('u .R rc_err_t \fBpam_Authentication_assume\fR(rc_instance_t\ *inst, . const\ char\ *locale, . const\ char\ *rolename, . pam_Block_t\ **result); .RS .RE .fi .\" blockquote { .RS 4 .PP begins a PAM conversation to authenticate as the specified role .PP Like login(), .PP \fBArguments:\fR .PP \fIinst\fR \(em RAD instance .PP \fIlocale\fR .PP \fIrolename\fR .PP \fIresult\fR .RE .\" } blockquote .nf .HP \w'rc_err_t\ \fBpam_Authentication_submit\fR('u .R rc_err_t \fBpam_Authentication_submit\fR(rc_instance_t\ *inst, . const\ char\ **responses, . int\ responses_count, . pam_Block_t\ **result); .RS .RE .fi .\" blockquote { .RS 4 .PP continues a PAM conversation with information collected from the previous step .PP \fBArguments:\fR .PP \fIinst\fR \(em RAD instance .PP \fIresponses\fR .PP \fIresponses_count\fR \(em Number of items in responses array .PP \fIresult\fR .RE .\" } blockquote .nf .HP \w'rc_err_t\ \fBpam_Authentication_complete\fR('u .R rc_err_t \fBpam_Authentication_complete\fR(rc_instance_t\ *inst); .RS .RE .fi .\" blockquote { .RS 4 .PP completes the PAM conversation with the RAD server .PP \fBArguments:\fR .PP \fIinst\fR \(em RAD instance .RE .\" } blockquote .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBAuthentication Retrieve\fR .RS 4 .nf .HP \w'rc_err_t\ \fBpam_Authentication__rad_get_name\fR('u .R rc_err_t \fBpam_Authentication__rad_get_name\fR(adr_name_t\ **result, . int\ n, . \&.\&.\&.); .RS .RE .fi .\" blockquote { .RS 4 .PP Obtain RAD name of a Authentication object\&. .PP \fBArguments:\fR .PP \fIresult\fR \(em RAD name .PP \fIn\fR \(em Number of key\-value pairs provided as variadic arguments .PP \&.\&.\&. \(em Optional key\-value pairs that compose the primary key .RE .\" } blockquote .nf .HP \w'rc_err_t\ \fBpam_Authentication__rad_lookup\fR('u .R rc_err_t \fBpam_Authentication__rad_lookup\fR(rc_conn_t\ *c, . boolean_t\ strict, . rc_instance_t\ **result, . int\ n, . \&.\&.\&.); .RS .RE .fi .\" blockquote { .RS 4 .PP Lookup a Authentication instance\&. .PP Construct a RAD name for the interface based on the provided key\-value pairs and perform a lookup\&. If successful, instance reference is returned in the result\&. .PP \fBArguments:\fR .PP \fIc\fR \(em RAD connection handle .PP \fIstrict\fR \(em Strict (B_TRUE) or relaxed (B_FALSE) versioning .PP \fIresult\fR \(em RAD instance .PP \fIn\fR \(em Number of key\-value pairs provided as variadic arguments .PP \&.\&.\&. \(em Optional key\-value pairs that compose the primary key .RE .\" } blockquote .nf .HP \w'rc_err_t\ \fBpam_Authentication__rad_list\fR('u .R rc_err_t \fBpam_Authentication__rad_list\fR(rc_conn_t\ *c, . boolean_t\ strict, . adr_pattern_scheme_t\ scheme, . adr_name_t\ ***result, . int\ *result_count, . int\ n, . \&.\&.\&.); .RS .RE .fi .\" blockquote { .RS 4 .PP List RAD names of a available Authentication instances\&. .PP Returns an array and array size of matching object names\&. .PP \fBArguments:\fR .PP \fIc\fR \(em RAD connection handle .PP \fIstrict\fR \(em Strict (B_TRUE) or relaxed (B_FALSE) versioning .PP \fIscheme\fR \(em Apply glob (NS_GLOB) or regex (NS_REGEX) matching .PP \fIresult\fR \(em Array of RAD names .PP \fIresult_count\fR \(em Number of names in result array .PP \fIn\fR \(em Number of key\-value pairs provided as variadic arguments .PP \&.\&.\&. \(em Optional key\-value pairs that compose the primary key .RE .\" } blockquote .RE .SH "ENUMERATED TYPES" .PP \fBenum MsgType\fR .\" blockquote { .RS 4 .PP .nf typedef enum pam_MsgType { PMT_PROMPT_ECHO_OFF = 0, PMT_PROMPT_ECHO_ON = 1, PMT_ERROR_MSG = 2, PMT_TEXT_INFO = 3, } pam_MsgType_t; .fi .RE .\" } blockquote .\" blockquote { .RS 4 .PP PMT_PROMPT_ECHO_OFF (0) \(em a request for non\-sensitive information, such as a username .PP PMT_PROMPT_ECHO_ON (1) \(em a request for secure/sensitive information, such as a password or passphrase .PP PMT_ERROR_MSG (2) \(em an error message to display to the user attempting authentication .PP PMT_TEXT_INFO (3) \(em an informational message to display to the user attempting authentication .RE .\" } blockquote .PP \fBenum BlockType\fR .\" blockquote { .RS 4 .PP .nf typedef enum pam_BlockType { PBT_CONV = 0, PBT_SUCCESS = 1, PBT_ERROR = 2, } pam_BlockType_t; .fi .RE .\" } blockquote .\" blockquote { .RS 4 .PP PBT_CONV (0) \(em conversation must continue .PP PBT_SUCCESS (1) \(em authentication has succeeded .PP PBT_ERROR (2) \(em authentication has failed .RE .\" } blockquote .SH "STRUCTURED TYPES" .PP \fBstruct Message\fR .\" blockquote { .RS 4 .PP typedef struct pam_Message pam_Message_t; .PP .nf struct pam_Message { pam_MsgType_t pm_style; char *pm_message; }; .fi .nf .HP \w'void\ \fBpam_Message_free\fR('u .R void \fBpam_Message_free\fR(pam_Message_t\ *in); .RS .RE .fi .RE .\" } blockquote .\" blockquote { .RS 4 .PP \fBFields:\fR .PP \fIpm_style\fR \(em this message\'s type .PP \fIpm_message\fR \(em the message text .RE .\" } blockquote .PP \fBstruct Block\fR .\" blockquote { .RS 4 .PP typedef struct pam_Block pam_Block_t; .PP .nf struct pam_Block { pam_BlockType_t pb_type; pam_Message_t **pb_messages; int pb_messages_count; }; .fi .nf .HP \w'void\ \fBpam_Block_free\fR('u .R void \fBpam_Block_free\fR(pam_Block_t\ *in); .RS .RE .fi .RE .\" } blockquote .\" blockquote { .RS 4 .PP \fBFields:\fR .PP \fIpb_type\fR \(em the status of the conversation .PP \fIpb_messages\fR \(em the messages to display to the user .PP \fIpb_messages_count\fR .RE .\" } blockquote .SH "VERSION" .PP 1\&.0 .SH "ATTRIBUTES" .PP See attributes(7) for descriptions of the following attributes: .TS allbox tab(:); cB cB. T{ ATTRIBUTE TYPE T}:T{ ATTRIBUTE VALUE T} .T& l l l l. T{ Availability T}:T{ system/management/rad/* T} T{ Interface Stability T}:T{ Private T} .TE .sp 1 .SH "SEE ALSO" .PP \fBrad\fR(8) .SH "NOTES" .IP " 1." 4 Accessing Python documentation for this module: .sp .RS 4 .nf $ pydoc rad.bindings.com.oracle.solaris.rad.pam_1 .fi .RE