[ https://issues.apache.org/jira/browse/KNOX-537?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15419853#comment-15419853 ]
Henning Kropp edited comment on KNOX-537 at 8/13/16 9:07 AM: ------------------------------------------------------------- [~lmccay], the interactive test in {{KnoxPamRealmTest.java}} was designed for testing on your local Mac. Just run it in in your favorite IDE and authenticate with your user. It is really that simple. I agree, that it would be preferred to integrate it in the current example/test with the Knox LDAP, for demonstration, documentation, and tests. I worked a bit on that and plan to attache the steps required to this Jira. Some of the changes are: 1. Required packages {code} yum install -y pam_ldap nss-pam-ldapd openldap-clients {code} 2. Configuration of pam_ldap 3. The users in users.ldif need POSIX attributes like uidNumber, gidNumber, ... 3.1 NIS schema needs to be enabled in the Apache Directory like: {code} schemaManager.enable("nis"); {code} 3.2 ldapmodify for the sam user: {code} dn: uid=sam,ou=people,dc=hadoop,dc=apache,dc=org changetype: modify add: objectclass objectclass: posixAccount - add: objectclass objectclass: shadowAccount - add: uidNumber uidNumber: 10001 .... {code} 4. Create a pam.xml topologie I was successful in doing this in my environment, but have difficulties building the Knox test VM. I hope the steps in the upcoming document will help to to implement this as part of the Knox deployment. Thanks for making me aware of the LDAP improvments, I will see how my feedback might be of any value. was (Author: hkropp): [~lmccay], the interactive test in {{KnoxPamRealmTest.java}} was designed for testing on your local Mac. Just run it in in your favorite IDE and authenticate with your user. It is really that simple. I agree, that it would be preferred to integrate it in the current example/test with the Knox LDAP, for demonstration, documentation, and tests. I worked a bit on that and attache the steps required to this Jira. Some of the changes are: 1. Required packages {code} yum install -y pam_ldap nss-pam-ldapd openldap-clients {code} 2. Configuration of pam_ldap 3. The users in users.ldif need POSIX attributes like uidNumber, gidNumber, ... 3.1 NIS schema needs to be enabled in the Apache Directory like: {code} schemaManager.enable("nis"); {code} 3.2 ldapmodify for the sam user: {code} dn: uid=sam,ou=people,dc=hadoop,dc=apache,dc=org changetype: modify add: objectclass objectclass: posixAccount - add: objectclass objectclass: shadowAccount - add: uidNumber uidNumber: 10001 .... {code} 4. Create a pam.xml topologie I was successful in doing this in my environment, but have difficulties building the Knox test VM. I hope the steps in the upcoming document will help to to implement this as part of the Knox deployment. Thanks for making me aware of the LDAP improvments, I will see how my feedback might be of any value. > Linux PAM Authentication Provider > --------------------------------- > > Key: KNOX-537 > URL: https://issues.apache.org/jira/browse/KNOX-537 > Project: Apache Knox > Issue Type: Bug > Components: Server > Affects Versions: 0.5.0, 0.6.0, 0.7.0 > Environment: All > Reporter: Jeffrey E Rodriguez > Assignee: Henning Kropp > Labels: knox, pam > Fix For: 0.10.0 > > Attachments: 0001-knox-537-add-pam-authentication-support.patch, > KNOX-537.patch > > Original Estimate: 168h > Remaining Estimate: 168h > > OS level PAM security provides great interface for authentication and > authorization. For example, sssd provides support for manage Active > Directory nested OU by adjusting ldap_group_nesting_level = 5. Knox > configuration is configured to interact with LDAP directly, but this has two > short cominges. First, hgh volume traffic is likely to make too many > queries to AD without cache. Second, complex logic of LDAP queries can not > map correctly to UserDnTemplate without adding more ldap specific logic into > JndiLdapRealm code and parameters. > Knox can be improved to use PAM to out source complex OS to AD interaction to > sssd. It is possible to implement a shiro PAM plugin to reduce the complex > LDAP logic that is starting to accumulate in Knox. > Looks like there is a least a start for this here. > https://github.com/plaflamme/shiro-libpam4j > libpam4j is available via Maven and uses an MIT license > http://mvnrepository.com/artifact/org.jvnet.libpam4j/libpam4j/1.4 > This might be a great addition to Knox. -- This message was sent by Atlassian JIRA (v6.3.4#6332)