0

我无法在 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$1.doAuthenticate(SecurityRealm.java:60)

这是设置(声纳位于 /var/lib/sonarqube-5.1):

  • /var/lib/sonarqube-5.1/lib/JPam-1.1.jar
  • 本机库(64 位和 32 位)已放入/var/lib/sonarqube-5.1/bin/linux-x86-64/lib/libjpam.so并且/var/lib/sonarqube-5.1/bin/linux-x86-32/lib/libjpam.so(只是为了确保声纳以 32 位运行)

所有指向本机库的目录和库本身都+rx可以访问

知道什么会导致问题吗?

4

1 回答 1

1

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

更新

  1. 检查java.library.path设置->系统信息页面
  2. 将 jpam lib 移动到这些路径之一
于 2015-05-22T10:16:37.930 回答