모듈을 작성하는 건 응용을 작성하는 것과 상당히 비슷하다.
올바른 동작을 위해 pam_sm_authenticate()
같은 "합의된 훅"을 제공해야 하는데, 일반 프로그램의
main()
함수에 해당하게 된다.
어떤 표준 시스템 라이브러리에 링크를 하고 싶을 수도 있다.
일반 프로그램을 컴파일할 때와 마찬가지로 모듈에서도 할 수 있다.
공유 모듈 오브젝트를 생성할 때 원하는 라이브러리에 대해
-l
XXX
인자를 붙여 주기만 하면 된다. 가령 모듈이 dlopen()
될 때 libwhatever.so
라이브러리에 링크되게 하고 싶다면 다음처럼 하면 된다.
% gcc -shared -o pam_module.so pam_module.o -lwhatever