From: Dominick Grift <dominick.grift@defensec.nl>
To: selinux@vger.kernel.org
Subject: Re: [PATCH v4] scripts/selinux: modernize mdp
Date: Wed, 20 Feb 2019 21:32:11 +0100 [thread overview]
Message-ID: <20190220203211.GD28292@brutus.lan> (raw)
In-Reply-To: <20190220194302.2075-1-dominick.grift@defensec.nl>
On Wed, Feb 20, 2019 at 08:43:02PM +0100, Dominick Grift wrote:
> The MDP example no longer works on modern systems.
I would prefer that my changes would just be addressed in Stephen's patch instead.
In that case this patch can be ignored.
>
> Add support for devtmpfs. This is required by login programs to relabel terminals.
> Compile the policy with deny_unknown allow status to anticipate user space object managers in core components such as systemd.
> Add default seusers mapping and failsafe context for the SELinux PAM module.
>
> V2:
> Fix existing file test for setfiles.
> Add a file test for checkpolicy similar to the test for setfiles for consistency.
> Execute setfiles with -F to ensure that customizables are relabeled as well in scenarios where filesystems are labeled but where SELinux is disabled.
>
> V3: Fixes file test that was introduced in V2.
>
> V4: Remove file tests and instead rely on which
>
> Signed-off-by: Dominick Grift <dominick.grift@defensec.nl>
> ---
> scripts/selinux/install_policy.sh | 23 +++++++++++++----------
> scripts/selinux/mdp/mdp.c | 1 +
> 2 files changed, 14 insertions(+), 10 deletions(-)
>
> diff --git a/scripts/selinux/install_policy.sh b/scripts/selinux/install_policy.sh
> index 0b86c47baf7d..773377838670 100755
> --- a/scripts/selinux/install_policy.sh
> +++ b/scripts/selinux/install_policy.sh
> @@ -6,25 +6,28 @@ if [ `id -u` -ne 0 ]; then
> fi
> SF=`which setfiles`
> if [ $? -eq 1 ]; then
> - if [ -f /sbin/setfiles ]; then
> - SF="/usr/setfiles"
> - else
> - echo "no selinux tools installed: setfiles"
> - exit 1
> - fi
> + echo "no selinux tools installed: setfiles"
> + exit 1
> fi
>
> cd mdp
>
> CP=`which checkpolicy`
> +if [ $? -eq 1 ]; then
> + echo "no selinux tools installed: checkpolicy"
> + exit 1
> +fi
> VERS=`$CP -V | awk '{print $1}'`
>
> ./mdp policy.conf file_contexts
> -$CP -o policy.$VERS policy.conf
> +$CP -U allow -o policy.$VERS policy.conf
>
> mkdir -p /etc/selinux/dummy/policy
> mkdir -p /etc/selinux/dummy/contexts/files
>
> +echo "__default__:user_u" > /etc/selinux/dummy/seusers
> +echo "base_r:base_t" > /etc/selinux/dummy/contexts/failsafe_context
> +
> cp file_contexts /etc/selinux/dummy/contexts/files
> cp dbus_contexts /etc/selinux/dummy/contexts
> cp policy.$VERS /etc/selinux/dummy/policy
> @@ -55,15 +58,15 @@ else
> fi
>
> cd /etc/selinux/dummy/contexts/files
> -$SF file_contexts /
> +$SF -F file_contexts /
>
> mounts=`cat /proc/$$/mounts | egrep "ext2|ext3|xfs|jfs|ext4|ext4dev|gfs2" | awk '{ print $2 '}`
> -$SF file_contexts $mounts
> +$SF -F file_contexts $mounts
>
>
> dodev=`cat /proc/$$/mounts | grep "/dev "`
> if [ "eq$dodev" != "eq" ]; then
> mount --move /dev /mnt
> - $SF file_contexts /dev
> + $SF -F file_contexts /dev
> mount --move /mnt /dev
> fi
> diff --git a/scripts/selinux/mdp/mdp.c b/scripts/selinux/mdp/mdp.c
> index 073fe7537f6c..cf06d5694cbc 100644
> --- a/scripts/selinux/mdp/mdp.c
> +++ b/scripts/selinux/mdp/mdp.c
> @@ -131,6 +131,7 @@ int main(int argc, char *argv[])
>
> fprintf(fout, "fs_use_trans mqueue user_u:base_r:base_t;\n");
> fprintf(fout, "fs_use_trans devpts user_u:base_r:base_t;\n");
> + fprintf(fout, "fs_use_trans devtmpfs user_u:base_r:base_t;\n");
> fprintf(fout, "fs_use_trans hugetlbfs user_u:base_r:base_t;\n");
> fprintf(fout, "fs_use_trans tmpfs user_u:base_r:base_t;\n");
> fprintf(fout, "fs_use_trans shm user_u:base_r:base_t;\n");
> --
> 2.21.0.rc1
>
--
Key fingerprint = 5F4D 3CDB D3F8 3652 FBD8 02D5 3B6C 5F1D 2C7B 6B02
https://sks-keyservers.net/pks/lookup?op=get&search=0x3B6C5F1D2C7B6B02
Dominick Grift
prev parent reply other threads:[~2019-02-20 20:32 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <0190220123354.1589-1-dominick.grift@defensec.nl>
2019-02-20 19:43 ` [PATCH v4] scripts/selinux: modernize mdp Dominick Grift
2019-02-20 20:32 ` Dominick Grift [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190220203211.GD28292@brutus.lan \
--to=dominick.grift@defensec.nl \
--cc=selinux@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.