在实施PAM模块的过程中也许会遇到一些奇怪的现象,
这里想说一下配置了PAM后没有出现预期的效果,而且如果设置的是required类型的进不去系统的情况吧.
也是刚刚才知道的这个东西(如果有高手指点下可能就不要浪费很久的时间了),好了继续:SELinux,关于这是什么东西我就不说了,
这里给你发两个连接
http://linuxtoy.org/archives/selinux-introduction.html
http://baike.baidu.com/view/487687.htm
如果你写一个测试程序去加载你的.so会出现 Permission denied,这就是没权限了.
像连接里说的,你可以通过getenforece 获得SELinux的当前设置,若为Enforceing什么的,则可以通过setenforce 0 来改变这个设置,若这样设置了仍旧不能加载PAM的话说明是模块有问题了(你可以通过ldd modualname看看是不是有什么库没有),若改变SELinux设置后PAM可以使用了则说明是SELinux的原因.
你有两个选择(不知道有第三种不...)
1. 修改/etc/sysconfig/selinux文件,把SELINUX=enforcing修改为SELINUX=permissive
2. 你可以使用chcon -t textrel_shlib_t pamname至此任务完毕