From: Stefan Berger <stefanb@xxxxxxxxxx> To sync with systemd, use the filepath /etc/ima/ima-policy as the default file location for the IMA policy. At the same time we move the ima config file location to /etc/ima/ima. Adapt the documentation to the new path. Maintain backwards compatibility by still reading the old files in case the new ones do not exist. Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> --- modules.d/98integrity/README | 8 ++++---- modules.d/98integrity/ima-keys-load.sh | 7 ++++++- modules.d/98integrity/ima-policy-load.sh | 20 +++++++++++++++++--- 3 files changed, 27 insertions(+), 8 deletions(-) diff --git a/modules.d/98integrity/README b/modules.d/98integrity/README index 64de0ae..c8ccee5 100644 --- a/modules.d/98integrity/README +++ b/modules.d/98integrity/README @@ -33,10 +33,10 @@ line. # Save the policy in a file. -# Create the configuration file '/etc/sysconfig/ima' to override the path name of +# Create the configuration file '/etc/ima/ima' to override the path name of # the IMA custom policy. -------------- '/etc/sysconfig/ima' (with the default value) ------------- -IMAPOLICY="/etc/sysconfig/ima-policy" +------------- '/etc/ima/ima' (with the default value) ------------- +IMAPOLICY="/etc/ima/ima-policy" ------------------------------------------------------------------------- @@ -64,5 +64,5 @@ IMAPOLICY="/etc/sysconfig/ima-policy" # 98integrity/ima-keys-load.sh script loads the signed certificates stored # in the $IMAKEYSDIR onto the trusted IMA keyring. The default $IMAKEYSDIR -# directory is /etc/keys/ima, but can be specified in the /etc/sysconfig/ima +# directory is /etc/keys/ima, but can be specified in the /etc/ima/ima # policy. diff --git a/modules.d/98integrity/ima-keys-load.sh b/modules.d/98integrity/ima-keys-load.sh index 659b722..922af1e 100755 --- a/modules.d/98integrity/ima-keys-load.sh +++ b/modules.d/98integrity/ima-keys-load.sh @@ -2,7 +2,10 @@ SECURITYFSDIR="/sys/kernel/security" IMASECDIR="${SECURITYFSDIR}/ima" -IMACONFIG="${NEWROOT}/etc/sysconfig/ima" +IMACONFIG="${NEWROOT}/etc/ima/ima" + +# for backwards compatibility +IMACONFIG_OLD="${NEWROOT}/etc/sysconfig/ima" load_x509_keys() { @@ -11,6 +14,8 @@ load_x509_keys() # override the default configuration if [ -f "${IMACONFIG}" ]; then . ${IMACONFIG} + elif [ -f "${IMACONFIG_OLD}" ]; then + . ${IMACONFIG_OLD} fi if [ -z "${IMAKEYDIR}" ]; then diff --git a/modules.d/98integrity/ima-policy-load.sh b/modules.d/98integrity/ima-policy-load.sh index 85cd3b9..a92b1bb 100755 --- a/modules.d/98integrity/ima-policy-load.sh +++ b/modules.d/98integrity/ima-policy-load.sh @@ -5,10 +5,19 @@ # Copyright (C) 2011 Politecnico di Torino, Italy # TORSEC group -- http://security.polito.it # Roberto Sassu <roberto.sassu@xxxxxxxxx> +# +# Copyright (C) 2016 IBM Corporation +# +# Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx> +# IMASECDIR="${SECURITYFSDIR}/ima" -IMACONFIG="${NEWROOT}/etc/sysconfig/ima" -IMAPOLICY="/etc/sysconfig/ima-policy" +IMACONFIG="${NEWROOT}/etc/ima/ima" +IMAPOLICY="/etc/ima/ima-policy" + +# for backwards compatibility +IMACONFIG_OLD="${NEWROOT}/etc/sysconfig/ima" +IMAPOLICY_OLD="/etc/sysconfig/ima-policy" load_ima_policy() { @@ -21,11 +30,16 @@ load_ima_policy() fi # override the default configuration - [ -f "${IMACONFIG}" ] && \ + if [ -f "${IMACONFIG}" ]; then . ${IMACONFIG} + elif [ -f "${IMACONFIG_OLD}" ]; then + . ${IMACONFIG_OLD} + fi # set the IMA policy path name IMAPOLICYPATH="${NEWROOT}${IMAPOLICY}" + [ ! -f "${IMAPOLICYPATH}" ] && \ + IMAPOLICYPATH="${NEWROOT}${IMAPOLICY_OLD}" # check the existence of the IMA policy file [ -f "${IMAPOLICYPATH}" ] && { -- 2.8.3 -- To unsubscribe from this list: send the line "unsubscribe initramfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html