Blob Blame History Raw
diff --git a/installer/pluginhandler.py b/installer/pluginhandler.py
index 1af8d85..5c498ab 100755
--- a/installer/pluginhandler.py
+++ b/installer/pluginhandler.py
@@ -403,7 +403,20 @@ class PluginHandle(object):
                     log.error("Target file %s does not exist. File copy failed." % trg)
                     continue
                 else:
-                    os.chmod(trg, stat.S_IRWXU | stat.S_IRGRP | stat.S_IXGRP | stat.S_IROTH | stat.S_IXOTH)
+                    if trg == '/etc/udev/rules.d/S99-2000S1.rules' or \
+                       trg == '/etc/udev/rules.d/40-libsane.rules':
+                        os.chmod(trg, 0o644)
+                        with open(trg, 'r') as udev_f:
+                            content = udev_f.read()
+
+                        content = content.replace('libsane_rules_end', 'libsane_usb_rules_end')
+                        content = content.replace('GROUP="scanner", ', '')
+
+                        with open(trg, 'w') as udev_f:
+                            udev_f.write(content)
+
+                    else:
+                        os.chmod(trg, stat.S_IRWXU | stat.S_IRGRP | stat.S_IXGRP | stat.S_IROTH | stat.S_IXOTH)
 
                 if link:
                     if os.path.exists(link):