help getting kerberized nfs4 mounts working
Rohit Kumar Mehta
rohitm at engr.uconn.edu
Mon May 12 13:24:05 EDT 2008
Thanks! I was missing the requires_preauth attribute on my
host/user.. and nfs/user.. principals. Easily fixed!
Now if I change the default_domain, I can (as root) do
a "mount -t nfs4 -o sec=krb5 files:/ /foo" and it works!
This seems to give us great many more security features with
our NFS shares! I will continue to play with this. Are many people
using Linux-NFS4 in production?
Rohit
Kevin Coffman wrote:
> On Mon, May 12, 2008 at 11:19 AM, Rohit Kumar Mehta
> <rohitm at engr.uconn.edu> wrote:
>
>>
>>> Actually, I think you need to have the following entries:
>>>
>>> .engr.uconn.edu = ENGR.UCONN.EDU
>>> .ad.engr.uconn.edu = AD.ENGR.UCONN.EDU
>>>
>>> So that client, user.engr.uconn.edu, realizes it is in the
>>> ENGR.UCONN.EDU realm and the server, filesm.ad.engr.uconn.edu, is in
>>> the AD.ENGR.UCONN.EDU realm.
>>>
>>> K.C.
>>>
>>>
>>>
>> That is what I have: (snippet of krb5.conf follows)
>>
>> [domain_ream]
>>
>> .engr.uconn.edu = ENGR.UCONN.EDU
>> engr.uconn.edu = ENGR.UCONN.EDU
>> # ad.engr.uconn.edu = ENGR.UCONN.EDU
>> # .ad.engr.uconn.edu = ENGR.UCONN.EDU
>> .ad.engr.uconn.edu = AD.ENGR.UCONN.EDU
>>
>> ad.engr.uconn.edu = AD.ENGR.UCONN.EDU
>>
>
>
> This looks fine from your description of the realms.
>
>
>
>> Also I have set the default_realm in [libdefaults] to AD.ENGR.UCONN.EDU
>> to force users to authenticate off the Active Directory.
>>
>
> You said the client is in the ENGR.UCONN.EDU realm. If so, it's
> default_realm should be ENGR.UCONN.EDU.
>
>
>
>> This error persists:
>> May 12 10:49:46 user rpc.gssd[3534]: Key table entry not found while
>> getting keytab entry for 'host/user.engr.uconn.edu at AD.ENGR.UCONN.EDU'
>> In wireshark I see quite a few error messages from the MIT KDC to the NFS
>> client with the type
>> (KRB5KRB_ERR_GENERIC). The message looks like this:
>> MSG Type: KRB-ERROR (30)
>> error_code: KRB5KRB_ERR_GENERIC (60)
>> Client Name (Principal): nfs/user.engr.uconn.edu
>> Realm: ENGR.UCONN.EDU
>> Server Name (Unknown): krbtgt/AD.ENGR.UCONN.EDU
>> e-text: NO PREAUTH
>>
>
> Is this error followed by another successful request, or no? If no,
> see below. If yes, then it probably isn't a problem.
>
>
>> Do you the version of nfs-utils that ships with Gutsy
>> (1.1.1~git-20070709-3ubuntu1) could be
>> the problem?
>>
>
> This version should be fine, AFAIK.
>
> One "feature" with the MIT Kerberos code is that if a service
> principal has the "REQUIRES_PRE_AUTH" flag set, then you must have
> used pre-authentication when obtaining your TGT, before requesting a
> service ticket for that service principal.
>
> So things to check:
>
> Since your service principal (krbtgt/AD.ENGR.UCONN.EDU at ENGR.UCONN.EDU)
> requires preauth, you need to make sure that your client principal
> (nfs/client.engr.uconn.edu at ENGR.UCONN.EDU) also requires preauth. If
> not, you need to set that flag for your client principal. You'll need
> to restart rpc.gssd on the client after making this change.
>
> If making that change doesn't help, send me a wireshark trace along
> with a copy of your /etc/krb5.conf on the NFS client machine. (And
> perhaps output from getprinc for the same two principals in the
> ENGR.UCONN.EDU realm.)
>
> K.C.
>
>
More information about the NFSv4
mailing list