| Wiki Markup |
|---|
{iframe:src=http://update.sonarsource.org/plugins/pam.html|width=700|height=250|frameborder=0}
Your browser does not support iframes.
{iframe} |
Features
The Sonar PAM Plugin enables the delegation of Sonar authentication to underlying PAM subsystem. The plugin works on *nix box with Pluggable Authentication Module (PAM).
Only password-checking is done against PAM. Authorization (access control) is still fully managed in Sonar. A Sonar account must be created first for each new user wishing to use Sonar. The Sonar administrator should also assign the user to the desired groups in order to grant him necessary rights. If exists, the password in the Sonar account will be ignored as the external system password will override it.
Works on
OS and Architecture | Works |
|---|---|
Linux AMD64 |
|
Linux i386 |
|
Mac OS X PPC |
|
Solaris sparc |
|
Windows all flavours |
|
Works, tested
Should work, not tested
Does not work
Usage & Installation
- Install jpam
- Download jpam for your system from here
- Alternatively:
- Copy the jpam's native library following these directions
- Copy the jpam's native libray in
sonar/bin/<your arch>/lib
- Install Sonar PAM plugin
- Place the jar plugin into the
/extensions/pluginsdirectory - Make sure that at least one user with global administration role exists in Sonar as well as in the external system
Configure
conf/sonar.propertiesby adding and editing the following:Code Block borderStyle dashed title sonar.properties #---------------------- # Sonar PAM Auth Plugin #---------------------- sonar.security.realm: PAM # Automatically create users (available since Sonar 2.0). # When set to true, user will be created after successful authentication, if doesn't exists. # The default group affected to new users can be defined online, in Sonar general settings. The default value is "sonar-users". # Default is false. # sonar.authenticator.createUsers: true
- Place the jar plugin into the
Restart Sonar and check logs for:
Code Block borderStyle dashed 2012.11.24 20:32:34 INFO org.sonar.INFO Security realm: PAM 2012.11.24 20:32:34 INFO org.sonar.INFO Security realm started
- Log in to Sonar
Known issue
Crash using PAM winbind authentication (pam_winbind.so)
In case of unsucessful login for wrong password/locked out account (wrong username does not produce the same issue) you may get this kind of error while using pam winbind authentication:
| Code Block | ||||
|---|---|---|---|---|
| ||||
INFO | jvm 1 | 2011/03/18 10:06:10 | *** glibc detected *** java: free(): invalid pointer: 0x00002aaadc000168 *** INFO | jvm 1 | 2011/03/18 10:06:10 | ======= Backtrace: ========= INFO | jvm 1 | 2011/03/18 10:06:10 | /lib64/libc.so.6[0x3b9527245f] INFO | jvm 1 | 2011/03/18 10:06:10 | /lib64/libc.so.6(cfree+0x4b)[0x3b952728bb] INFO | jvm 1 | 2011/03/18 10:06:10 | /lib64/security/pam_winbind.so[0x2aaadaddc8f9] INFO | jvm 1 | 2011/03/18 10:06:10 | /lib64/security/pam_winbind.so[0x2aaadaddee4c] INFO | jvm 1 | 2011/03/18 10:06:10 | /lib64/security/pam_winbind.so(pam_sm_authenticate+0x304)[0x2aaadaddf9e4] INFO | jvm 1 | 2011/03/18 10:06:10 | /lib64/libpam.so.0(_pam_dispatch+0x277)[0x3b97e02dc7] INFO | jvm 1 | 2011/03/18 10:06:10 | /lib64/libpam.so.0(pam_authenticate+0x42)[0x3b97e026d2] |
In this case Sonar crashes and restart automatically.
As far as I understand it's a pam_winbind.so issue. I've found this workaround:
- Edit /etc/security/pam_winbind.conf:
Set Kerberos authentication:
Code Block borderStyle dashed title /etc/security/pam_winbind.conf # # pam_winbind configuration file # # /etc/security/pam_winbind.conf # [global] # turn on debugging #debug = yes # request a cached login if possible # (needs "winbind offline logon = yes" in smb.conf) cached_login = yes # authenticate using kerberos krb5_auth = yes # when using kerberos, request a "FILE" krb5 credential cache type # (leave empty to just do krb5 authentication but not have a ticket # afterwards) ;krb5_ccache_type = FILE # make successful authentication dependend on membership of one SID # (can also take a name) ;require_membership_of =
Known limitations
Troubleshooting
ChangeLog
| JIRA Issues | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
|

