[Pkg-sysvinit-devel] Bug#626725: initscripts: Needs to set SELinux labels for /run
Roger Leigh
rleigh at codelibre.net
Sun May 15 14:08:29 UTC 2011
On Sun, May 15, 2011 at 01:41:41PM +0100, Roger Leigh wrote:
> On Sat, May 14, 2011 at 06:44:29PM +0100, Martin Orr wrote:
> > Directories and symlinks created as part of the /run transition are not
> > labelled for SELinux. The effect is that most services fail to start on
> > boot after transitioning to /run.
> >
> > You need to run restorecon after creating a directory or symbolic link
> > in an init script or maintainer script. Attached patch does this.
> >
> > /run with SELinux also requires the refpolicy patch I have submitted in
> > #626720. Once that is fixed, initscripts should probably have
> > Breaks: selinux-policy-default (<< $FIXEDVERSION)
>
> Hi Martin,
>
> Is it safe to apply the patch /before/ refpolicy is updated or would
> this break anything? Or is the Breaks: essential?
>
> I could apply the patch today and then add the Breaks once refpolicy
> is updated. Or I could wait until refpolicy is updated and do both
> then.
If it is safe to apply now, this is my proposed patch (same as yours
with one conflict fixed):
diff --git a/debian/changelog b/debian/changelog
index 5c6bfeb..4c5a324 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -10,8 +10,10 @@ sysvinit (2.88dsf-13.7) unstable; urgency=low
already bind mounted on the chroot /run, which would remove the
contents of the host /run if upgrading initscripts in the chroot.
* Restore rpcbind/portmap changes from 2.88dsf-13.5.
+ * Add restorecon support for selinux using new paths (Closes: #626725).
+ Thanks to Martin Orr for this patch.
- -- Roger Leigh <rleigh at debian.org> Sun, 15 May 2011 10:01:37 +0100
+ -- Roger Leigh <rleigh at debian.org> Sun, 15 May 2011 14:42:43 +0100
sysvinit (2.88dsf-13.6) unstable; urgency=low
diff --git a/debian/initscripts.postinst b/debian/initscripts.postinst
index 9d40169..8b5fbd1 100755
--- a/debian/initscripts.postinst
+++ b/debian/initscripts.postinst
@@ -76,6 +76,7 @@ bind_mount ()
# Bind mount $SRC on $DEST
if [ -n "$ssrc" ] && [ "$ssrc" != "$sdest" ]; then
[ -d "$DEST" ] || mkdir "$DEST"
+ [ -x /sbin/restorecon ] && /sbin/restorecon "$DEST"
if mount -t $FSTYPE "$SRC" "$DEST" $OPTS ; then
return 0
fi
@@ -111,6 +112,7 @@ compat_link () {
echo "Can't symlink $DEST to $SRC; please fix manually."
return 1
}
+ [ -x /sbin/restorecon ] && /sbin/restorecon "$DEST"
fi
return 0
diff --git a/debian/src/initscripts/etc/init.d/mountkernfs.sh b/debian/src/initscripts/etc/init.d/mountkernfs.sh
index 85a02fb..25653b1 100755
--- a/debian/src/initscripts/etc/init.d/mountkernfs.sh
+++ b/debian/src/initscripts/etc/init.d/mountkernfs.sh
@@ -44,6 +44,7 @@ mount_filesystems () {
# Make lock directory as the replacement for /var/lock
[ -d /run/lock ] || mkdir --mode=755 /run/lock
+ [ -x /sbin/restorecon ] && /sbin/restorecon /run/lock
# Mount /run/lock as tmpfs if enabled. This prevents user DoS
# of /run by filling /run/lock at the expense of using an
@@ -60,6 +61,7 @@ mount_filesystems () {
if [ -L /tmp ] && [ ! -d /tmp ]; then
TMPPATH="$(readlink /tmp)"
mkdir -p --mode=755 "$TMPPATH"
+ [ -x /sbin/restorecon ] && /sbin/restorecon "$TMPPATH"
fi
# If root is read only, default to mounting a tmpfs on /tmp,
diff --git a/debian/src/initscripts/lib/init/mount-functions.sh b/debian/src/initscripts/lib/init/mount-functions.sh
index 666a5d3..3c97ed5 100644
--- a/debian/src/initscripts/lib/init/mount-functions.sh
+++ b/debian/src/initscripts/lib/init/mount-functions.sh
@@ -294,6 +294,7 @@ run_migrate ()
if [ -L "$OLD" ] && [ "$(readlink "$OLD")" != "$RUN" ]; then
rm -f "$OLD"
ln -fs "$RUN" "$OLD"
+ [ -x /sbin/restorecon ] && /sbin/restorecon "$OLD"
fi
# If both directories are the same, we don't need to do
@@ -327,6 +328,7 @@ run_migrate ()
else
rm -f "$OLD"
ln -fs "$RUN" "$OLD"
+ [ -x /sbin/restorecon ] && /sbin/restorecon "$OLD"
fi
fi
--
.''`. Roger Leigh
: :' : Debian GNU/Linux http://people.debian.org/~rleigh/
`. `' Printing on GNU/Linux? http://gutenprint.sourceforge.net/
`- GPG Public Key: 0x25BFB848 Please GPG sign your mail.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-sysvinit-devel/attachments/20110515/f3539a9f/attachment.pgp>
More information about the Pkg-sysvinit-devel
mailing list