Date: Thu, 14 Feb 2013 07:40:58 -0700 From: Jamie Gritton <jamie@FreeBSD.org> To: Baptiste Daroussin <bapt@FreeBSD.org> Cc: jail@FreeBSD.org, fs@FreeBSD.org Subject: Re: Marking some FS as jailable Message-ID: <511CF77A.2080005@FreeBSD.org> In-Reply-To: <20130214132715.GG44004@ithaqua.etoilebsd.net> References: <20130212194047.GE12760@ithaqua.etoilebsd.net> <511B1F55.3080500@FreeBSD.org> <20130214132715.GG44004@ithaqua.etoilebsd.net>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
On 02/14/13 06:27, Baptiste Daroussin wrote:
> On Tue, Feb 12, 2013 at 10:06:29PM -0700, Jamie Gritton wrote:
>> On 02/12/13 12:40, Baptiste Daroussin wrote:
>>>
>>> I would like to mark some filesystem as jailable, here is the one I need:
>>> linprocfs, tmpfs and fdescfs, I was planning to do it with adding a
>>> allow.mount.${fs} for each one.
>>>
>>> Anyone has an objection?
>>
>> Would it make sense for linprocfs to use the existing allow.mount.procfs
>> flag?
>
> Here is a patch that uses allow.mount.procfs for linsysfs and linprocfs.
>
> It also addd a new allow.mount.tmpfs to allow tmpfs.
>
> It seems to work here, can anyone confirm this is the right way to do it?
>
> I'll commit in 2 parts: first lin*fs, second tmpfs related things
>
> http://people.freebsd.org/~bapt/jail-fs.diff
There are some problems. The usage on the mount side of things looks
correct, but it needs more on the jail side. I'm including a patch just
of that part, with a correction in jail.h and further changes in kern_jail.c
- Jamie
[-- Attachment #2 --]
Index: sys/jail.h
===================================================================
--- sys/jail.h (revision 246791)
+++ sys/jail.h (working copy)
@@ -227,7 +227,8 @@
#define PR_ALLOW_MOUNT_NULLFS 0x0100
#define PR_ALLOW_MOUNT_ZFS 0x0200
#define PR_ALLOW_MOUNT_PROCFS 0x0400
-#define PR_ALLOW_ALL 0x07ff
+#define PR_ALLOW_MOUNT_TMPFS 0x0800
+#define PR_ALLOW_ALL 0x0fff
/*
* OSD methods
Index: kern/kern_jail.c
===================================================================
--- kern/kern_jail.c (revision 246791)
+++ kern/kern_jail.c (working copy)
@@ -206,6 +206,7 @@
"allow.mount.nullfs",
"allow.mount.zfs",
"allow.mount.procfs",
+ "allow.mount.tmpfs",
};
const size_t pr_allow_names_size = sizeof(pr_allow_names);
@@ -221,6 +222,7 @@
"allow.mount.nonullfs",
"allow.mount.nozfs",
"allow.mount.noprocfs",
+ "allow.mount.notmpfs",
};
const size_t pr_allow_nonames_size = sizeof(pr_allow_nonames);
@@ -4208,6 +4210,10 @@
CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE,
NULL, PR_ALLOW_MOUNT_PROCFS, sysctl_jail_default_allow, "I",
"Processes in jail can mount the procfs file system");
+SYSCTL_PROC(_security_jail, OID_AUTO, mount_tmpfs_allowed,
+ CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE,
+ NULL, PR_ALLOW_MOUNT_TMPFS, sysctl_jail_default_allow, "I",
+ "Processes in jail can mount the tmpfs file system");
SYSCTL_PROC(_security_jail, OID_AUTO, mount_zfs_allowed,
CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE,
NULL, PR_ALLOW_MOUNT_ZFS, sysctl_jail_default_allow, "I",
@@ -4360,6 +4366,8 @@
"B", "Jail may mount the nullfs file system");
SYSCTL_JAIL_PARAM(_allow_mount, procfs, CTLTYPE_INT | CTLFLAG_RW,
"B", "Jail may mount the procfs file system");
+SYSCTL_JAIL_PARAM(_allow_mount, tmpfs, CTLTYPE_INT | CTLFLAG_RW,
+ "B", "Jail may mount the tmpfs file system");
SYSCTL_JAIL_PARAM(_allow_mount, zfs, CTLTYPE_INT | CTLFLAG_RW,
"B", "Jail may mount the zfs file system");
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?511CF77A.2080005>
