Description of problem: If the keyring ccache is changed from UID to username like below, it is not possible to get ticket as non-root user. default_ccache_name = KEYRING:persistent:%{username} This is corner case but since it works for root one would expect to work also as non-root user. Version-Release number of selected component (if applicable): krb5-1.11.3-31.el7 kernel-3.10.0-48.el7 How reproducible: always Steps to Reproduce: 1. change the default_ccache_name line in /etc/krb5.conf to: default_ccache_name = KEYRING:persistent:%{username} ^^^^^^^^ note this 2. as user root all ok: # kinit alice Password for alice: # klist Ticket cache: KEYRING:persistent:root:0 Default principal: alice Valid starting Expires Service principal 11/11/2013 15:52:35 11/12/2013 15:52:35 krbtgt/ZMRAZ.COM renew until 11/11/2013 15:52:35 3. but as non-root user: # su - alice Last login: Mon Nov 11 15:48:09 CET 2013 on pts/1 $ kinit kinit: Invalid UID in persistent keyring name while getting default ccache
The description of this bug is exactly reversed from what should be happening here. It is NOT supported or correct behavior for the KRB5CCNAME to be specified with the username. The error message "Invalid UID in persistent keyring name" is the proper response here. The fact that it is NOT failing when root makes this mistake is the actual bug.
(Hit enter too soon) I suspect that we're not properly validating this string. I have a guess that we may just be hitting a weird edge case with the string->int conversion and ending up with zero (which just happens to work for root).
This request was resolved in Red Hat Enterprise Linux 7.0. Contact your manager or support representative in case you have further questions about the request.