Bug 1067423

Summary: Use short hostname when using AD based KDC for secure NFS
Product: Red Hat Enterprise Linux 6 Reporter: Ondrej <ovalousek>
Component: nfs-utilsAssignee: Steve Dickson <steved>
Status: CLOSED ERRATA QA Contact: JianHong Yin <jiyin>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.6CC: bugzilla, E.deVries, eguan, fs-qe, jiyin, rmainz, t.h.amundsen
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Fixed In Version: nfs-utils-1.2.3-50 Doc Type: Bug Fix
Doc Text:
Cause: using rpc.gssd with an AD Consequence: Unable to do a secure mount Fix: Change the way the AD's name is parsed. Result: Able to do secure mounts with an AD
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-10-14 04:33:22 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Ondrej 2014-02-20 12:44:56 UTC
Description of problem:
When using AD based KDC for secure NFS, rpc.gssd uses "hostname$" prinicpal in keytab. However, in case we use FQDN hostname, this assumption fails as AD always uses short (netbios) names for the machine UPN.

Ideally, we should generate netbios name using the hostname (i.e. truncate long hostnames), but the following approach is good enough for now - it handles FQDN hostnames:

--- krb5_util.c.old	2014-02-20 11:07:21.747160240 +0100
+++ krb5_util.c	2014-02-20 11:13:22.031166912 +0100
@@ -802,11 +802,13 @@
 		goto out;
 	/* Compute the active directory machine name HOST$ */
-	strcpy(myhostad, myhostname);
-	for (i = 0; myhostad[i] != 0; ++i)
-		myhostad[i] = toupper(myhostad[i]);
+	for (i = 0; myhostname[i] != 0; ++i){
+		char c = myhostname[i];
+		if(c == '.') break;
+		myhostad[i] = toupper(c);
+	}	
 	myhostad[i] = '$';
 	myhostad[i+1] = 0;
 	retval = get_full_hostname(myhostname, myhostname, sizeof(myhostname));

Comment 2 Steve Dickson 2014-04-28 17:16:03 UTC
*** Bug 1005231 has been marked as a duplicate of this bug. ***

Comment 3 Steve Dickson 2014-04-28 17:16:39 UTC
commit 5be4b2d7786d3eaee9e11c3bc4cdbfa451006947
Author: Simo Sorce <simo@redhat.com>
Date:   Mon Mar 10 16:24:34 2014 -0400

    gssd: Drop full domain when constructing the Ad hostname.

Comment 5 David Mansfield 2014-06-09 13:12:00 UTC
Got a NEEDINFO tickler bug bugzilla may be confused.

Comment 8 errata-xmlrpc 2014-10-14 04:33:22 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.