Hello Steve Langasek, Thank you. I created symbolic links to libjvm.so in /lib64 and /usr/lib64. Now dlopen error is not reported. But, the jvm does not get created. I saw some message for sshd - something like "..... broken pipe" in /var/log/secure When I use pamtester and run as root, no issues. When I run pamtester as a non root user for my module I get segmentation fault msg in the command line. With Thanks & Best Regards, -Mohana Murali G ________________________________________ From: pam-list-bounces@xxxxxxxxxx [pam-list-bounces@xxxxxxxxxx] on behalf of Steve Langasek [vorlon@xxxxxxxxxx] Sent: Sunday, December 09, 2012 1:05 AM To: pam-list@xxxxxxxxxx Subject: Re: dlopen not able to open shared object file, even though it is existing On Sat, Dec 08, 2012 at 06:01:06AM +0000, mohanamurali.gurunathan@xxxxxxxxx wrote: > Hello pam-list members, > We had written a customized PAM authentication module (in C) named > vauth.so to be used for sshd. We had changed the sshd file in /etc/pam.d > to include the following line > authenticate sufficient vauth.so > We were able to have ssh session using PuTTY successfully. vauth.so gets > called and authentication gets completed. > After this, we wanted to use some java components for our authentication > through vauth.so. So, we used some JNI calls from the c code, and created > vauth.so. > These were the commands used to create vauth.so (which is finally placed > in /lib64/security) > gcc -fPIC -fno-stack-protector -I/usr/java/jdk1.7.0_07/include -I/usr/java/jdk1.7.0_07/include/linux -c vauth.c -L/usr/java/jdk1.7.0_07/jre/lib/amd64/server > ld -x --shared -o /lib64/security/vauth.so vauth.o /usr/java/jdk1.7.0_07/jre/lib/amd64/server/libjvm.so > We had also copied "libjvm.so" to /lib64/security. > Now, when we do an authentication using PuTTY, we see the following error. > Dec 6 11:23:10 localhost sshd[8605]: PAM unable to dlopen(/lib64/security/vauth.so): libjvm.so: cannot open shared object file: No such file or directory > Dec 6 11:23:10 localhost sshd[8605]: PAM adding faulty module: /lib64/security/vauth.so > We are not sure, why this problem occurs as libjvm.so in present in > /lib64/security. Run 'ldd -d -r /lib64/security/vauth.so' to see what's wrong. But as a general rule, /lib64/security is not going to be on the library search path; so either you need libjvm.so to be installed to a system path, or you need to use an rpath setting on your module to tell the runtime linker where to find libjvm. -- Steve Langasek Give me a lever long enough and a Free OS Debian Developer to set it on, and I can move the world. Ubuntu Developer http://www.debian.org/ slangasek@xxxxxxxxxx vorlon@xxxxxxxxxx _______________________________________________ Pam-list mailing list Pam-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/pam-list