diff --git a/services/univention-printserver/cups-printers.py b/services/univention-printserver/cups-printers.py index 5605ce7..fef6e0f 100644 --- a/services/univention-printserver/cups-printers.py +++ b/services/univention-printserver/cups-printers.py @@ -417,10 +417,11 @@ def handler(dn, new, old): print >>fp, 'include = %s' % os.path.join('/etc/samba/printers.conf.d', f) fp.close() os.rename('/etc/samba/printers.conf.temp', '/etc/samba/printers.conf') - finally: listener.unsetuid() + reload_printer_restrictions() + if need_to_reload_cups: reload_daemon('cups', 'cups-printers: ') @@ -437,6 +438,14 @@ def reload_daemon(daemon, prefix): ud.debug(ud.LISTENER, ud.INFO, "%s no %s to reload found" % (prefix, daemon)) +def reload_printer_restrictions(): + listener.setuid(0) + try: + subprocess.call(['python', '/usr/share/pyshared/univention/lib/share_restrictions.py']) + finally: + listener.unsetuid() + + def reload_smbd(): global reload_samba_in_postrun listener.setuid(0)