diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php
index 56178263131382e2aca8eb19d4e250b67c4de3a9..9c3c1b343d14f03d6f753141e71d289940ada0cf 100644
--- a/install/lib/installer_base.lib.php
+++ b/install/lib/installer_base.lib.php
@@ -1803,14 +1803,17 @@ class installer_base {
 
 		if(!is_dir('/etc/rspamd/local.d/')){
 			mkdir('/etc/rspamd/local.d/', 0755, true);
+			chmod('/etc/rspamd/local.d/', 0755);
 		}
 
 		if(!is_dir('/etc/rspamd/local.d/maps.d/')){
 			mkdir('/etc/rspamd/local.d/maps.d/', 0755, true);
+			chmod('/etc/rspamd/local.d/maps.d/', 0755);
 		}
 
 		if(!is_dir('/etc/rspamd/override.d/')){
 			mkdir('/etc/rspamd/override.d/', 0755, true);
+			chmod('/etc/rspamd/override.d/', 0755);
 		}
 
 		if ( substr($mail_config['dkim_path'], strlen($mail_config['dkim_path'])-1) == '/' ) {
diff --git a/server/scripts/update_runner.sh b/server/scripts/update_runner.sh
index 5647272f3a4831ea661aa2b064d49db710de641b..8c885f7299683548eb52d4bc7ca14c6d199c786c 100644
--- a/server/scripts/update_runner.sh
+++ b/server/scripts/update_runner.sh
@@ -40,10 +40,12 @@ cd /tmp
 if [ -n "${_UPD}" ]
 then
     {
+        save_umask=`umask`
         umask 0077 \
         && tmpdir=`mktemp -dt "$(basename $0).XXXXXXXXXX"` \
         && test -d "${tmpdir}" \
         && cd "${tmpdir}"
+        umask $save_umask
     } || {
         echo 'mktemp failed'
         exit 1