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):
/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
访问权限
知道是什么导致了问题吗?
我会打印 java.library.path
变量。唯一能想到的是jpam lib放错地方或者权限有问题。 (您检查过 SonarQube 用户是否真的可以读取该文件?)
更新
- 在设置->系统信息页面检查
java.library.path
- 将 jpam 库移动到这些路径之一
我无法在 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):
/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
访问权限
知道是什么导致了问题吗?
我会打印 java.library.path
变量。唯一能想到的是jpam lib放错地方或者权限有问题。 (您检查过 SonarQube 用户是否真的可以读取该文件?)
更新
- 在设置->系统信息页面检查
java.library.path
- 将 jpam 库移动到这些路径之一