Re: [PATCH 1/1 v2] systemd: Only start the gssd daemons when they are enabled

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Again, sorry for the delay... That darn flux capacitor broke... again!!! :-)

On 06/23/2016 09:30 PM, Chuck Lever wrote:
> 
>> On Jun 23, 2016, at 11:57 AM, Steve Dickson <SteveD@xxxxxxxxxx> wrote:

[snip]

>> the key tab does have a nfs/hosname@REALM entry. So the 
>> call to the KDC is probably failing... which 
>> could be construed as a misconfiguration, but
>> that misconfiguration should not even come into 
>> play with sec=sys mounts... IMHO...
> 
> I disagree, of course. sec=sys means the client is not going
> to use Kerberos to authenticate individual user requests,
> and users don't need a Kerberos ticket to access their files.
> That's still the case.
> 
> I'm not aware of any promise that sec=sys means there is
> no Kerberos within 50 miles of that mount.
I think that's is the assumption... No Kerberos will be
needed for sec=sys mounts. Its not when Kerberos is 
not configured. 
 
> 
> If there are valid keytabs on both systems, they need to
> be set up correctly. If there's a misconfiguration, then
> gssd needs to report it precisely instead of time out.
> And it's just as easy to add a service principal to a keytab
> as it is to disable a systemd service in that case.
I think its more straightforward to disable a service
that is not needed than to have to add a principal to a 
keytab for a service that's not being used or needed.

> 
> 
>>> Is gssd waiting for syslog or something?
>> No... its just failing to get the machine creds for root
> 
> Clearly more is going on than that, and so far we have only
> some speculation. Can you provide an strace of rpc.gssd or
> a network capture so we can confirm what's going on?
Yes... Yes... and Yes.. I added you to the bz... 

> 
> 
>> [snip]
>>
>>>> Which does work and will still work... but I'm thinking it is
>>>> much similar to disable the service via systemd command
>>>>  systemctl disable rpc-gssd
>>>>
>>>> than creating and editing those .conf files.
>>>
>>> This should all be automatic, IMO.
>>>
>>> On Solaris, drop in a keytab and a krb5.conf, and add sec=krb5
>>> to your mounts. No reboot, nothing to restart. Linux should be
>>> that simple.
>> The only extra step with Linux is to 'sysctmctl start rpc-gssd'
>> I don't there is much would can do about that....
> 
> Sure there is. Leave gssd running, and make sure it can respond
> quickly in every reasonable case. :-p
> 
> 
>> But of
>> course... Patches are always welcomed!! 8-)
>>
>> TBL... When kerberos is configured correctly for NFS everything
>> works just fine. When kerberos is configured, but not for NFS,
>> causes delays on all NFS mounts.
> 
> This convinces me even more that there is a gssd issue here.
> 
> 
>> Today, there is a method to stop rpc-gssd from blindly starting
>> when kerberos is configured to eliminate that delay.
> 
> I can fix my broken TV by not turning it on, and I don't
> notice the problem. But the problem is still there any
> time I want to watch TV.
> 
> The problem is not fixed by disabling gssd, it's just
> hidden in some cases.
I agree this %100... All I'm saying there should be a 
way to disable it when the daemon is not needed or used.

Having it automatically started just because there is a 
keytab, at first, I thought was a good idea, now
it turns not people really don't what miscellaneous 
daemons running. Case in point gssproxy... Automatically
comes but there is a way to disable it. With rpc.gssd
there is not (easily). 
 
> 
> 
>> This patch just tweaking that method to make things easier.
> 
> It makes one thing easier, and other things more difficult.
> As a community, I thought our goal was to make Kerberos
> easier to use, not easier to turn off.
Again I can't agree with you more! But this is the case 
were Kerberos is *not* being used for NFS... we should
make that case work as well... 

> 
> 
>> To address your concern about covering up a bug. I just don't
>> see it... The code is doing exactly what its asked to do.
>> By default the kernel asks krb5i context (when rpc.gssd
>> is run). rpc.gssd looking for a principle in the key tab, 
>> when found the KDC is called... 
>>
>> Everything is working just like it should and it is
>> failing just like it should. I'm just trying to 
>> eliminate all this process when not needed, in 
>> an easier way..
> 
> I'm not even sure now what the use case is. The client has
> proper principals, but the server doesn't? The server
> should refuse the init sec context immediately. Is gssd
> even running on the server?
No they don't because they are not using Kerberos for NFS...

So I guess this is what we are saying:
 
If you what to used Kerberos for anything at all,
they must configure it for NFS for their clients
to work properly... I'm not sure we really want to
say this. 

> 
> Suppose there are a thousand clients and one broken
> server. An administrator would fix that one server by
> adding an extra service principal, rather than log
> into a thousand clients to change a setting on each.
> 
> Suppose your client wants both sys and krb5 mounts of
> a group of servers, and some are "misconfigured."
> You have to enable gssd on the client but there are still
> delays on the sec=sys mounts.
In both these cases you are assuming Kerberos mounts 
are being used and so Kerberos should be configured 
for NFS. That is just not the case. 

> 
> In fact, I think that's going to be pretty common. Why add
> an NFS service principal on a client if you don't expect
> to use sec=krb5 some of the time?
In that case adding the principal does make sense. But...

Why *must* you add a principal when you know only sec=sys 
mounts will be used?

steved.
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux