Reduce perms for salt user on other salt dirs

Reduces the permissions granted to the salt user used to run the
salt-master:

* Under /etc/salt limit ownership to  /etc/salt/pki/master and
  /etc/salt/master.d
* Until #64219 is resolved also include /etc/salt/minion.d
* Under /var/cache/salt and /var/run/salt only give ownership on
  master directories
* Under /var/log/salt, ensure /var/log/salt/master exists and give
  ownership oof that. Also update logrotate config to create that with
  correct ownership and perms and install that on debian packages.
This commit is contained in:
Barney Sowood 2023-04-29 20:07:40 +01:00 committed by Gareth J. Greenaway
parent af9ee1a9c6
commit da6cfc99ab
6 changed files with 18 additions and 14 deletions

View file

@ -4,6 +4,7 @@
rotate 7
compress
notifempty
create 0640 salt salt
}
/var/log/salt/minion {

View file

@ -1,5 +1,6 @@
conf/roster /etc/salt
conf/cloud /etc/salt
pkg/common/salt-common.logrotate /etc/logrotate.d/salt
pkg/common/fish-completions/salt-cp.fish /usr/share/fish/vendor_completions.d
pkg/common/fish-completions/salt-call.fish /usr/share/fish/vendor_completions.d
pkg/common/fish-completions/salt-syndic.fish /usr/share/fish/vendor_completions.d

View file

@ -31,11 +31,5 @@ case "$1" in
-s $SALT_SHELL \
-g $SALT_GROUP \
$SALT_USER
# 5. adjust file and directory permissions
if ! dpkg-statoverride --list $SALT_HOME >/dev/null
then
chown -R $SALT_USER:$SALT_GROUP $SALT_HOME
chmod u=rwx,g=rwx,o=rx $SALT_HOME
fi
;;
esac

View file

@ -13,3 +13,4 @@
/var/cache/salt/master/roots
/var/cache/salt/master/syndics
/var/cache/salt/master/tokens
/var/run/salt/master

View file

@ -1,6 +1,10 @@
case "$1" in
configure)
chown -R salt:salt /etc/salt /var/log/salt /var/cache/salt/ /var/run/salt
if [ ! -e "/var/log/salt/master" ]; then
touch /var/log/salt/master
chmod 640 /var/log/salt/master
fi
chown -R salt:salt /etc/salt/pki/master /etc/salt/master.d /etc/salt/minion.d /var/log/salt/master /var/cache/salt/master /var/run/salt/master
if command -v systemctl; then systemctl enable salt-master; fi
;;
esac

View file

@ -406,8 +406,6 @@ usermod -c "%{_SALT_NAME}" \
-d %{_SALT_HOME} \
-g %{_SALT_GROUP} \
%{_SALT_USER}
# 5. adjust file and directory permissions
chown -R %{_SALT_USER}:%{_SALT_GROUP} %{_SALT_HOME}
# assumes systemd for RHEL 7 & 8 & 9
%preun master
@ -424,16 +422,17 @@ chown -R %{_SALT_USER}:%{_SALT_GROUP} %{_SALT_HOME}
%post
chown -R %{_SALT_USER}:%{_SALT_GROUP} %{_SALT_HOME}
chmod u=rwx,g=rwx,o=rx %{_SALT_HOME}
ln -s -f /opt/saltstack/salt/spm %{_bindir}/spm
ln -s -f /opt/saltstack/salt/salt-pip %{_bindir}/salt-pip
/opt/saltstack/salt/bin/python3 -m compileall -qq /opt/saltstack/salt/lib
%post cloud
chown -R salt:salt /etc/salt/cloud.deploy.d
chown -R salt:salt /opt/saltstack/salt/lib/python3.10/site-packages/salt/cloud/deploy
if [ ! -e "/var/log/salt/cloud" ]; then
touch /var/log/salt/cloud
chmod 640 /var/log/salt/cloud
fi
chown -R %{_SALT_USER}:%{_SALT_GROUP} /etc/salt/cloud.deploy.d /var/log/salt/cloud /opt/saltstack/salt/lib/python3.10/site-packages/salt/cloud/deploy
ln -s -f /opt/saltstack/salt/salt-cloud %{_bindir}/salt-cloud
@ -453,7 +452,11 @@ if [ $1 -lt 2 ]; then
/bin/openssl sha256 -r -hmac orboDeJITITejsirpADONivirpUkvarP /opt/saltstack/salt/lib/libcrypto.so.1.1 | cut -d ' ' -f 1 > /opt/saltstack/salt/lib/.libcrypto.so.1.1.hmac || :
fi
fi
chown -R salt:salt /etc/salt /var/log/salt /var/cache/salt/ /var/run/salt/
if [ ! -e "/var/log/salt/master" ]; then
touch /var/log/salt/master
chmod 640 /var/log/salt/master
fi
chown -R %{_SALT_USER}:%{_SALT_GROUP} /etc/salt/pki/master /etc/salt/master.d /var/log/salt/master /var/cache/salt/master /var/run/salt/master
%post syndic
%systemd_post salt-syndic.service