Bug 1067423 - Use short hostname when using AD based KDC for secure NFS
Summary: Use short hostname when using AD based KDC for secure NFS
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: nfs-utils   
(Show other bugs)
Version: 6.6
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Steve Dickson
QA Contact: Yin.JianHong
URL:
Whiteboard:
Keywords:
: 1005231 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-02-20 12:44 UTC by Ondrej
Modified: 2014-10-14 04:33 UTC (History)
7 users (show)

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: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2014:1407 normal SHIPPED_LIVE nfs-utils bug fix and enhancement update 2014-10-14 00:54:56 UTC

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.

http://rhn.redhat.com/errata/RHBA-2014-1407.html


Note You need to log in before you can comment on or make changes to this bug.