* [Cluster-devel] [PATCH] resource-agents: Fix nfs mount contexts
@ 2011-04-15 15:18 Lon Hohberger
2011-04-15 15:24 ` Fabio M. Di Nitto
0 siblings, 1 reply; 7+ messages in thread
From: Lon Hohberger @ 2011-04-15 15:18 UTC (permalink / raw)
To: cluster-devel.redhat.com
- check for SELinux enabled
- grab the installed distribution's SELinux label for
/var/lib/nfs/statd
- chcon / restorecon using that label (restorecon should be enough,
but it seems to not work across bind mounts)
Resolves: rhbz#635828
Signed-off-by: Lon Hohberger <lhh@redhat.com>
---
rgmanager/src/resources/nfsserver.sh | 12 +++++++++++-
1 files changed, 11 insertions(+), 1 deletions(-)
diff --git a/rgmanager/src/resources/nfsserver.sh b/rgmanager/src/resources/nfsserver.sh
index 17f472d..f7b6b7a 100644
--- a/rgmanager/src/resources/nfsserver.sh
+++ b/rgmanager/src/resources/nfsserver.sh
@@ -16,6 +16,14 @@ export LC_ALL LANG PATH
. $(dirname $0)/ocf-shellfuncs
+# SELinux information
+which restorecon &> /dev/null && selinuxenabled
+export SELINUX_ENABLED=$?
+if [ $SELINUX_ENABLED ]; then
+ export SELINUX_LABEL="$(ls -ldZ /var/lib/nfs/statd | cut -f4 -d' ')"
+fi
+
+
log_do()
{
ocf_log debug $*
@@ -222,6 +230,8 @@ create_tree()
[ -f "$fp/xtab" ] || touch "$fp/xtab"
[ -f "$fp/rmtab" ] || touch "$fp/rmtab"
+ [ $SELINUX_ENABLED ] && chcon -R "$SELINUX_LABEL" "$fp"
+
#
# Generate a random state file. If this ends up being what a client
# already has in its list, that's bad, but the chances of this
@@ -306,7 +316,7 @@ setup_tree()
mount -o bind "$fp/statd" /var/lib/nfs/statd
cp -a "$fp"/*tab /var/lib/nfs
- restorecon /var/lib/nfs
+ [ $SELINUX_ENABLED ] && restorecon /var/lib/nfs
}
--
1.7.3.4
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [Cluster-devel] [PATCH] resource-agents: Fix nfs mount contexts
2011-04-15 15:18 [Cluster-devel] [PATCH] resource-agents: Fix nfs mount contexts Lon Hohberger
@ 2011-04-15 15:24 ` Fabio M. Di Nitto
0 siblings, 0 replies; 7+ messages in thread
From: Fabio M. Di Nitto @ 2011-04-15 15:24 UTC (permalink / raw)
To: cluster-devel.redhat.com
ACK?ed.
Fabio
On 4/15/2011 5:18 PM, Lon Hohberger wrote:
> - check for SELinux enabled
> - grab the installed distribution's SELinux label for
> /var/lib/nfs/statd
> - chcon / restorecon using that label (restorecon should be enough,
> but it seems to not work across bind mounts)
>
> Resolves: rhbz#635828
>
> Signed-off-by: Lon Hohberger <lhh@redhat.com>
> ---
> rgmanager/src/resources/nfsserver.sh | 12 +++++++++++-
> 1 files changed, 11 insertions(+), 1 deletions(-)
>
> diff --git a/rgmanager/src/resources/nfsserver.sh b/rgmanager/src/resources/nfsserver.sh
> index 17f472d..f7b6b7a 100644
> --- a/rgmanager/src/resources/nfsserver.sh
> +++ b/rgmanager/src/resources/nfsserver.sh
> @@ -16,6 +16,14 @@ export LC_ALL LANG PATH
>
> . $(dirname $0)/ocf-shellfuncs
>
> +# SELinux information
> +which restorecon &> /dev/null && selinuxenabled
> +export SELINUX_ENABLED=$?
> +if [ $SELINUX_ENABLED ]; then
> + export SELINUX_LABEL="$(ls -ldZ /var/lib/nfs/statd | cut -f4 -d' ')"
> +fi
> +
> +
> log_do()
> {
> ocf_log debug $*
> @@ -222,6 +230,8 @@ create_tree()
> [ -f "$fp/xtab" ] || touch "$fp/xtab"
> [ -f "$fp/rmtab" ] || touch "$fp/rmtab"
>
> + [ $SELINUX_ENABLED ] && chcon -R "$SELINUX_LABEL" "$fp"
> +
> #
> # Generate a random state file. If this ends up being what a client
> # already has in its list, that's bad, but the chances of this
> @@ -306,7 +316,7 @@ setup_tree()
>
> mount -o bind "$fp/statd" /var/lib/nfs/statd
> cp -a "$fp"/*tab /var/lib/nfs
> - restorecon /var/lib/nfs
> + [ $SELINUX_ENABLED ] && restorecon /var/lib/nfs
> }
>
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Cluster-devel] [PATCH] resource-agents: Fix nfs mount contexts
@ 2011-04-14 19:57 Lon Hohberger
2011-04-14 21:41 ` Lon Hohberger
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Lon Hohberger @ 2011-04-14 19:57 UTC (permalink / raw)
To: cluster-devel.redhat.com
Resolves: rhbz#635828
Signed-off-by: Lon Hohberger <lhh@redhat.com>
Tested-by: Corey Marthaler <cmarthal@redhat.com>
---
rgmanager/src/resources/nfsserver.sh | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/rgmanager/src/resources/nfsserver.sh b/rgmanager/src/resources/nfsserver.sh
index 17f472d..bb2632e 100644
--- a/rgmanager/src/resources/nfsserver.sh
+++ b/rgmanager/src/resources/nfsserver.sh
@@ -222,6 +222,9 @@ create_tree()
[ -f "$fp/xtab" ] || touch "$fp/xtab"
[ -f "$fp/rmtab" ] || touch "$fp/rmtab"
+ chcon -R system_u:object_r:var_lib_nfs_t:s0 "$fp"
+ chcon -R system_u:object_r:var_lib_nfs_t:s0 "$fp/*"
+
#
# Generate a random state file. If this ends up being what a client
# already has in its list, that's bad, but the chances of this
--
1.7.3.4
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [Cluster-devel] [PATCH] resource-agents: Fix nfs mount contexts
2011-04-14 19:57 Lon Hohberger
@ 2011-04-14 21:41 ` Lon Hohberger
2011-04-14 22:25 ` Ryan O'Hara
2011-04-15 4:44 ` Fabio M. Di Nitto
2 siblings, 0 replies; 7+ messages in thread
From: Lon Hohberger @ 2011-04-14 21:41 UTC (permalink / raw)
To: cluster-devel.redhat.com
Note - patch proposed for RHEL6 branch.
--
Lon Hohberger - Red Hat, Inc.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Cluster-devel] [PATCH] resource-agents: Fix nfs mount contexts
2011-04-14 19:57 Lon Hohberger
2011-04-14 21:41 ` Lon Hohberger
@ 2011-04-14 22:25 ` Ryan O'Hara
2011-04-15 4:44 ` Fabio M. Di Nitto
2 siblings, 0 replies; 7+ messages in thread
From: Ryan O'Hara @ 2011-04-14 22:25 UTC (permalink / raw)
To: cluster-devel.redhat.com
ACK.
On Thu, Apr 14, 2011 at 03:57:06PM -0400, Lon Hohberger wrote:
> Resolves: rhbz#635828
>
> Signed-off-by: Lon Hohberger <lhh@redhat.com>
> Tested-by: Corey Marthaler <cmarthal@redhat.com>
> ---
> rgmanager/src/resources/nfsserver.sh | 3 +++
> 1 files changed, 3 insertions(+), 0 deletions(-)
>
> diff --git a/rgmanager/src/resources/nfsserver.sh b/rgmanager/src/resources/nfsserver.sh
> index 17f472d..bb2632e 100644
> --- a/rgmanager/src/resources/nfsserver.sh
> +++ b/rgmanager/src/resources/nfsserver.sh
> @@ -222,6 +222,9 @@ create_tree()
> [ -f "$fp/xtab" ] || touch "$fp/xtab"
> [ -f "$fp/rmtab" ] || touch "$fp/rmtab"
>
> + chcon -R system_u:object_r:var_lib_nfs_t:s0 "$fp"
> + chcon -R system_u:object_r:var_lib_nfs_t:s0 "$fp/*"
> +
> #
> # Generate a random state file. If this ends up being what a client
> # already has in its list, that's bad, but the chances of this
> --
> 1.7.3.4
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Cluster-devel] [PATCH] resource-agents: Fix nfs mount contexts
2011-04-14 19:57 Lon Hohberger
2011-04-14 21:41 ` Lon Hohberger
2011-04-14 22:25 ` Ryan O'Hara
@ 2011-04-15 4:44 ` Fabio M. Di Nitto
2011-04-15 14:49 ` Lon Hohberger
2 siblings, 1 reply; 7+ messages in thread
From: Fabio M. Di Nitto @ 2011-04-15 4:44 UTC (permalink / raw)
To: cluster-devel.redhat.com
Hi Lon,
2 small bits here..
in nfsserver.sh, we also call restorecon.
IMHO execution of selinux tools should be conditional to selinux being
enabled and tools available.
To make this a generic upstream patch, we can do (at the beginning of
the agent):
selinuxon=""
[ -n "$(which selinuxenabled)" ] && selinuxenabled && selinuxon=1
this is mostly paranoia and to cache the result for later use. invoking
selinuxenabled is cheap.
.....
[ -n "$selinuxon" ] && [ -n "$(which restorecon)" ] && restorecon...
.....
[ -n "$selinuxon" ] && [ -n "$(which chcon)" ] && chcon -R....
chcon -R works recursively, so one invocation should be sufficient.
The main motivator behind this approach is to guarantee that we don't
need resource-agents to Requires those tools at packaging level and
enforce them on a system.
Fabio
On 04/14/2011 09:57 PM, Lon Hohberger wrote:
> Resolves: rhbz#635828
>
> Signed-off-by: Lon Hohberger <lhh@redhat.com>
> Tested-by: Corey Marthaler <cmarthal@redhat.com>
> ---
> rgmanager/src/resources/nfsserver.sh | 3 +++
> 1 files changed, 3 insertions(+), 0 deletions(-)
>
> diff --git a/rgmanager/src/resources/nfsserver.sh b/rgmanager/src/resources/nfsserver.sh
> index 17f472d..bb2632e 100644
> --- a/rgmanager/src/resources/nfsserver.sh
> +++ b/rgmanager/src/resources/nfsserver.sh
> @@ -222,6 +222,9 @@ create_tree()
> [ -f "$fp/xtab" ] || touch "$fp/xtab"
> [ -f "$fp/rmtab" ] || touch "$fp/rmtab"
>
> + chcon -R system_u:object_r:var_lib_nfs_t:s0 "$fp"
> + chcon -R system_u:object_r:var_lib_nfs_t:s0 "$fp/*"
> +
> #
> # Generate a random state file. If this ends up being what a client
> # already has in its list, that's bad, but the chances of this
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Cluster-devel] [PATCH] resource-agents: Fix nfs mount contexts
2011-04-15 4:44 ` Fabio M. Di Nitto
@ 2011-04-15 14:49 ` Lon Hohberger
0 siblings, 0 replies; 7+ messages in thread
From: Lon Hohberger @ 2011-04-15 14:49 UTC (permalink / raw)
To: cluster-devel.redhat.com
On Fri, Apr 15, 2011 at 06:44:47AM +0200, Fabio M. Di Nitto wrote:
> Hi Lon,
>
> 2 small bits here..
>
> in nfsserver.sh, we also call restorecon.
>
> IMHO execution of selinux tools should be conditional to selinux being
> enabled and tools available.
>
> To make this a generic upstream patch, we can do (at the beginning of
> the agent):
Yep, I'll revert the one I pushed. Sorry about that.
> selinuxon=""
> [ -n "$(which selinuxenabled)" ] && selinuxenabled && selinuxon=1
>
> this is mostly paranoia and to cache the result for later use. invoking
> selinuxenabled is cheap.
>
> .....
>
> [ -n "$selinuxon" ] && [ -n "$(which restorecon)" ] && restorecon...
>
> .....
>
> [ -n "$selinuxon" ] && [ -n "$(which chcon)" ] && chcon -R....
>
> chcon -R works recursively, so one invocation should be sufficient.
In my initial testing, it didn't work, but deleting the second line
seemed to work fine now.
> The main motivator behind this approach is to guarantee that we don't
> need resource-agents to Requires those tools at packaging level and
> enforce them on a system.
Understood.
--
Lon Hohberger - Red Hat, Inc.
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2011-04-15 15:24 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-04-15 15:18 [Cluster-devel] [PATCH] resource-agents: Fix nfs mount contexts Lon Hohberger
2011-04-15 15:24 ` Fabio M. Di Nitto
-- strict thread matches above, loose matches on Subject: below --
2011-04-14 19:57 Lon Hohberger
2011-04-14 21:41 ` Lon Hohberger
2011-04-14 22:25 ` Ryan O'Hara
2011-04-15 4:44 ` Fabio M. Di Nitto
2011-04-15 14:49 ` Lon Hohberger
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).