On Tue, 22 Aug 2017, Russ Allbery wrote:

Matthew Gabeler-Lee <chee...@fastcat.org> writes:

1) The documentation claims you can set the credential cache filename in
krb5.conf, but this appears to be a lie.  If you don't give the pam ccache=
option, then it uses a hard coded string to form the cache filename,
disregarding any settings in krb5.conf.

Could you show me your krb5.conf file where you tried to set this?


[libdefaults]
        default_realm = our.active.directory.realm
        dns_lookup_realm = false
        dns_lookup_kdc = true
        # added this line:
        default_cc_name = /tmp/krb5cc_%{uid}

I also tried without the path and with %u instead of %{uid}. None of it worked. I resorted to UTSL, and was not surprised it hadn't worked:

setcred.c, function build_ccache_name:
    if (args->config->ccache == NULL) {
        retval = asprintf(&cache_name, "%s/krb5cc_%d_XXXXXX",
                          args->config->ccache_dir, (int) uid);
// ...

From what I can see, there is simply no case in this package's code
where it visibly reads the krb5.conf file, nor where it allows the krb5 implementation library to use whatever defaults are in krb5.conf. It always seems to give an explicit filename to the krb5 library that will override whatever is in krb5.conf.

Yeah, this is how the PAM update system works.  I can't change this as a
PAM package maintainer (and there are a bunch of reasons why it works this
way).

For my edification, can you explain why /usr/share/pam-configs/krb5 can't be made a conffile? It would solve this frustration, and some related frustrations I've had with other libpam-foo packages. I assume there is a good reason for it, it's just not obvious to me what that is.

--
        -Matt
"Reality is that which, when you stop believing in it, doesn't go away".
                -- Philip K. Dick
GPG fingerprint: 0061 15DF D282 D4A9 57CE  77C5 16AF 1460 4A3C C4E9

Reply via email to