SonarQube 5.1 PAM - java.library.path 中没有 jpam

SonarQube 5.1 PAM - no jpam in java.library.path

我无法在 Debian 8(64 位)上的 SonarQube 5.1 上使用 PAM 插件。

我按照 https://github.com/SonarCommunity/sonar-pam 进行了设置,但在登录过程中仍然出现以下错误:

Java::JavaLang::UnsatisfiedLinkError (no jpam in java.library.path):
  java.lang.ClassLoader.loadLibrary(ClassLoader.java:1886)
  java.lang.Runtime.loadLibrary0(Runtime.java:849)
  java.lang.System.loadLibrary(System.java:1088)
  net.sf.jpam.Pam.<clinit>(Pam.java:51)
  org.sonar.plugins.pam.PamConfiguration.newInstance(PamConfiguration.java:61)
  org.sonar.plugins.pam.PamConfiguration.getPAM(PamConfiguration.java:49)
  org.sonar.plugins.pam.PamAuthenticator.authenticate(PamAuthenticator.java:45)
  org.sonar.api.security.SecurityRealm.doAuthenticate(SecurityRealm.java:60)

设置如下(声纳位于 /var/lib/sonarqube-5.1):

所有指向本机库和库本身的目录都具有 +rx 访问权限

知道是什么导致了问题吗?

我会打印 java.library.path 变量。唯一能想到的是jpam lib放错地方或者权限有问题。 (您检查过 SonarQube 用户是否真的可以读取该文件?)

更新

  1. 在设置->系统信息页面检查java.library.path
  2. 将 jpam 库移动到这些路径之一