mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-01-24 15:16:40 -06:00
oddjob: avoid chown keytab to sssd if sssd user does not exist
If sssd user does not exist, it means SSSD does not run as sssd user. Currently SSSD has too tight check for keytab permissions and ownership. It assumes the keytab has to be owned by the same user it runs under and has to have 0600 permissions. ipa-getkeytab creates the file with right permissions and 'root:root' ownership. Jakub Hrozek promised to enhance SSSD keytab permissions check so that both sssd:sssd and root:root ownership is possible and then when SSSD switches to 'sssd' user, the former becomes the default. Since right now SSSD 1.13 is capable to run as 'sssd' user but doesn't create 'sssd' user in Fedora 22 / RHEL 7 environments, we can use its presence as a version trigger. https://fedorahosted.org/freeipa/ticket/5136 Reviewed-By: Tomas Babej <tbabej@redhat.com>
This commit is contained in:
parent
706c003615
commit
c6a1bd591e
@ -45,8 +45,13 @@ def retrieve_keytab(api, ccache_name, oneway_keytab_name, oneway_principal):
|
||||
env={'KRB5CCNAME': ccache_name, 'LANG': 'C'},
|
||||
raiseonerr=False)
|
||||
# Make sure SSSD is able to read the keytab
|
||||
sssd = pwd.getpwnam('sssd')
|
||||
os.chown(oneway_keytab_name, sssd[2], sssd[3])
|
||||
try:
|
||||
sssd = pwd.getpwnam('sssd')
|
||||
os.chown(oneway_keytab_name, sssd[2], sssd[3])
|
||||
except KeyError as e:
|
||||
# If user 'sssd' does not exist, we don't need to chown from root to sssd
|
||||
# because it means SSSD does not run as sssd user
|
||||
pass
|
||||
|
||||
|
||||
def parse_options():
|
||||
|
Loading…
Reference in New Issue
Block a user