[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Compile question?



When compiling a new PAM module I have found several variations of making the module.

Examples:
From the PAM module writers guide-

% gcc -shared -Xlinker -x -o pam_module.so pam_module.o -lwhatever

From a tutorial found on linuxjournal-

% gcc -fPIC -c pam_module.c % ld -x --shared -o pam_module.so pam_module.o

From a tutorial found on linuxdevcenter.com-

% gcc -o pam_module.so -lpam pam_module.c


I am still fairly new to C, however when compiling a new pam source file from the directory specified in the pam module writters guide on all instances it fails.

My question is if I wanted a PAM module to simply gather the user name of the currently logged in user (on success) or place an error message in a simple text file on login I would take the following steps (correct me if I am wrong);

1. Place the I/O function within the pam_sm_authenticate function() (because I want the file to be created / appended to as the user is attempting to log in). I ask because I have also been told that this would go under the pam_sm_start_session() function because once the user is logged in it would create the file and work much like a startup script. I have tried it both ways and both have failed.

2. During compile time if I have linked against header files such as #include <io.h> or #include <errono.h> I would need to compile the new module with links to these libraries, if this is correct could you give me an example of how this is accomplished. (I have never created a shared object like this before, so please bear with me.)

3. Are there differences in how PAM might be used in say a SuSE distribution vs. a RedHat distribution?

Thanks a ton,

--
Jason Gerfen

"...Sometimes I just yell at myself. And it
makes me sad, sometimes I make myself cry..."
			~ My nephew Dawsyn




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]