Skip to content
Permalink
Browse files

Univention (UCS): change umask only temporary improvement

Do a try/finally exception handling around modifying the umask.
  • Loading branch information...
joergsteffens authored and franku committed Jun 6, 2019
1 parent 1dd6481 commit fe2c74dadf05703d7f85b936a2037faf010694be
Showing with 13 additions and 9 deletions.
  1. +13 −9 core/platforms/univention/univention-bareos.py
@@ -143,10 +143,12 @@ def createClientSecret(client_name):
char_set = string.ascii_uppercase + string.digits + string.ascii_lowercase
password=''.join(random.sample(char_set*40,40))
oldumask = os.umask(0o077)
with open(path,'w') as f:
f.write(password)
os.chown(path,-1,0)
os.umask(oldumask)
try:
with open(path,'w') as f:
f.write(password)
os.chown(path,-1,0)
finally:
os.umask(oldumask)

return password

@@ -165,11 +167,13 @@ def createClientJob(client_name,client_type,enable='Yes'):

t=string.Template(content)
oldumask = os.umask(0o077)
with open(path,"w") as f:
f.write(t.substitute(enable=enable, password=password, client_name=client_name))
os.chown(path,-1,bareos_gid)
os.chmod(path,stat.S_IRUSR | stat.S_IWUSR | stat.S_IRGRP)
os.umask(oldumask)
try:
with open(path,"w") as f:
f.write(t.substitute(enable=enable, password=password, client_name=client_name))
os.chown(path,-1,bareos_gid)
os.chmod(path,stat.S_IRUSR | stat.S_IWUSR | stat.S_IRGRP)
finally:
os.umask(oldumask)

def disableClientJob(client_name,client_type):
createClientJob(client_name,client_type,'No')

0 comments on commit fe2c74d

Please sign in to comment.
You can’t perform that action at this time.