I read this page , but I'm a little confused ...
struct pam_conv
service_name
Is there an example of using PAM to log in a user (or at least verify their credentials provided)?
Here is an example:
#include <stdlib.h> // for NULL #include <security/pam_appl.h> // for pam_ functions // compile with 'gcc -lpam filename.c' int main ( int argc , char * * argv ) { //function used to get user input int function_conversation ( ) { /* ToDo prompt user for input */ } ; const char * local_service = "Example Service" ; // name of the authentication service const char * local_user = "Example User" ; //Name of the user void * local_app_data = NULL ; // ToDo Make this valid. const struct pam_conv local_conversation = { function_conversation , local_app_data } ; pam_handle_t * local_auth_handle = NULL ; // this gets set by pam_start int local_status = 0 ; // result of each function call // local_auth_handle gets set based on the service local_status = pam_start ( local_service , local_user , & local_conversation , & local_auth_handle ) ; int local_auth_flags = 0 ; // ToDo Are there any relevent flags? // Authenticate the user with the authentication handle set by pam_start local_status = pam_athenticate ( local_auth_handle , local_auth_flags ) ; // terminate transaction local_status = pam_end ( local_auth_handle , local_status ) ; return local_status ; }
Literature:
http://publib.boulder.ibm.com/infocenter/aix/v6r1/index.jsp?topic=/com.ibm.aix.basetechref/doc/basetrf1/pam_start.htm
http://www.kapet.de/kb/pam_interpose/pam_interpose.c
http://pubs.opengroup.org/onlinepubs/8329799/pam_start.htm
Source: https://habr.com/ru/post/1794876/More articles:WScript.CreateObject unloads the Windows Scripting host when an event handler prefix is specified for WinHTTPRequest - vbscriptscala type of problems: SoftReference, ReferenceQueues, SoftHashMap - referenceDownload / install Windows updates from Python - pythonESS and rpy2 sharing R in Emacs - rHow to get different values using the isl / relational and has_many algebra: via - ruby-on-railsHow to select a JSON element in Ruby - jsonWhy is smoke and mirrors an anti-pattern? - language-agnosticDetermine resolution and image type (without actual decoding) in WP7 / Silverlight - windows-phone-7Anyone got compression for working with ASmack - javarails 3 actionmailer не может отправлять электронную почту - ruby-on-railsAll Articles