[ 
https://issues.apache.org/jira/browse/AMBARI-11524?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14565509#comment-14565509
 ] 

Hudson commented on AMBARI-11524:
---------------------------------

SUCCESS: Integrated in Ambari-trunk-Commit #2751 (See 
[https://builds.apache.org/job/Ambari-trunk-Commit/2751/])
AMBARI-11524. Kerberos: using realm name with mixed case, /etc/krb5.conf's 
default realm was forced to uppercase (Emil Anca via rlevas) (rlevas: 
http://git-wip-us.apache.org/repos/asf?p=ambari.git&a=commit&h=eeb8655acca8d8e2d4face8f3730348ffedcdbde)
* 
ambari-server/src/main/resources/common-services/KERBEROS/1.10.3-10/configuration/krb5-conf.xml


> Kerberos: using realm name with mixed case, /etc/krb5.conf's default realm 
> was forced to uppercase
> --------------------------------------------------------------------------------------------------
>
>                 Key: AMBARI-11524
>                 URL: https://issues.apache.org/jira/browse/AMBARI-11524
>             Project: Ambari
>          Issue Type: Bug
>          Components: ambari-server
>    Affects Versions: 2.0.0
>            Reporter: Emil Anca
>            Assignee: Emil Anca
>            Priority: Critical
>             Fix For: 2.1.0
>
>         Attachments: AMBARI-11524_01.patch
>
>
> I've set up a KDC with the default realm and realm as CUSTOM.com in 
> /etc/krb5.conf, created the kdc database, created admin principal 
> admin/ad...@custom.com, made sure I can run kadmin (and not just 
> kadmin.local) and create new principals using the admin principal by editing 
> /var/kerberos/krb5kdc/kadm5.acl and restarting the kdc/kadmin services.
> Also, with this set up, I verified that I can run "kinit" without the 
> explicit realm name of CUSTOM.com, as it is the default realm (e.g., "kinit 
> testuser" kinits as testu...@custom.com)
> I ran the Kerberos Wizard and faced some issues, because
> the default krb5 template forces uppercase for the default_realm in 
> /etc/krb5.conf.  Also, it looks like it forces uppercasing on domain entries 
> in case these are specified, though I did not test the latter:
> {code}
> [libdefaults]
>   renew_lifetime = 7d
>   forwardable = true
>   default_realm = {{realm|upper()}}  <-- FORCES UPPERCASE
>   ticket_lifetime = 24h
>   dns_lookup_realm = false
>   dns_lookup_kdc = false
>   #default_tgs_enctypes = {{encryption_types}}
>   #default_tkt_enctypes = {{encryption_types}}
> {% if domains %}
> [domain_realm]
> {% for domain in domains.split(',') %}
>   {{domain}} = {{realm|upper()}}   <-- FORCES UPPERCASE
> {% endfor %}
> {% endif %}
> [logging]
>   default = FILE:/var/log/krb5kdc.log
>   admin_server = FILE:/var/log/kadmind.log
>   kdc = FILE:/var/log/krb5kdc.log
> [realms]
>   {{realm}} = {  <-- UPPERCASE NOT FORCED (AS DESIRED)
>     admin_server = {{admin_server_host|default(kdc_host, True)}}
>     kdc = {{kdc_host}}
>   }
> {# Append additional realm declarations below #}
> {code}
> I observed two issues.
> 1. My /etc/krb5.conf entry *default_realm = CUSTOM.com* was overwritten by 
> Ambari as  *default_realm = CUSTOM.COM*.  So after the wizard ran, the 
> default realm is set to a non-existent realm.  So kerberos commands now 
> require an explicit @CUSTOM.com for kinit, etc.  This is an undesired and 
> unexpected side effect.
> My /etc/krb5.conf looked like the following after being modified via Ambari:
> {code}
> [libdefaults]
>   renew_lifetime = 7d
>   forwardable = true
>   default_realm = CUSTOM.COM  <-- FORCED TO UPPERCASE.  CUSTOM.COM DOES NOT 
> EXIST
>   ticket_lifetime = 24h
>   dns_lookup_realm = false
>   dns_lookup_kdc = false
>   #default_tgs_enctypes = aes des3-cbc-sha1 rc4 des-cbc-md5
>   #default_tkt_enctypes = aes des3-cbc-sha1 rc4 des-cbc-md5
> [logging]
>   default = FILE:/var/log/krb5kdc.log
>   admin_server = FILE:/var/log/kadmind.log
>   kdc = FILE:/var/log/krb5kdc.log
> [realms]
>   CUSTOM.com = {  <-- WAS NOT FORCED TO UPPERCASE (GOOD)
>     admin_server = y2-1.c.pramod-thangali.internal
>     kdc = y2-1.c.pramod-thangali.internal
>   }
> {code}
> 2. Because of the above, for the admin principal name in the UI, you have to 
> type "admin/ad...@custom.com" where as if you had all uppercase realm, like 
> CUSTOM.COM, then you can just type "admin/admin".
> It seems like we should not be forcing uppercase on the default realm in the 
> template.  If upper() is removed from the template, this problem does not 
> occur, and it works the same way as in the case where the realm name was all 
> uppercase.
> 3. I just used the admin/ad...@custom.com for the admin principal (note the 
> explicit realm name) and was able to pass Test Kerberos step with CUSTOM.com 
> realm.  However, in the Start and Test Services part of the Wizard, it failed 
> at Check ZooKeeper.  
> I'm not sure if this is because of the mixed case or the default realm being 
> wrong.  I was running a kerberization test in parallel with the same 
> Ambari/HDP build, and I did not hit any issues (I just used the default 
> EXAMPLE.COM for the one that succeeded).
> Succeeded cluster with EXAMPLE.COM:
> y1-1.c.pramod-thangali.internal   104.196.80.112   10.240.164.253   4h <- 
> Ambari server
> y1-2.c.pramod-thangali.internal   104.196.89.113   10.240.143.145   4h
> y1-3.c.pramod-thangali.internal   104.196.83.169   10.240.232.100   4h
> Failed cluster with CUSTOM.com:
> y2-1.c.pramod-thangali.internal   104.196.91.17   10.240.33.220   4h  <- 
> Ambari server
> y2-2.c.pramod-thangali.internal   104.196.90.52   10.240.67.205   4h
> y2-3.c.pramod-thangali.internal   104.196.82.69   10.240.90.190   4h



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to