Navigation Menu

Skip to content

Commit

Permalink
Univention (UCS): change umask only temporary improvement
Browse files Browse the repository at this point in the history
Do a try/finally exception handling around modifying the umask.
  • Loading branch information
joergsteffens committed Jun 6, 2019
1 parent c558ad0 commit 75a3f9b
Showing 1 changed file with 13 additions and 9 deletions.
22 changes: 13 additions & 9 deletions core/platforms/univention/univention-bareos.py
Expand Up @@ -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

Expand All @@ -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')
Expand Down

0 comments on commit 75a3f9b

Please sign in to comment.