diff options
author | Antranig Vartanian <antranigv@freebsd.am> | 2021-09-08 07:07:49 +0000 |
---|---|---|
committer | Kyle Evans <kevans@FreeBSD.org> | 2021-09-10 05:30:04 +0000 |
commit | 7955efd574b98601a95da45d6d8e7f452631fddd (patch) | |
tree | 3a098e3fcb6939188774e7fba813180e7872c32e | |
parent | 35aa1d6e4542ce7c8be127b85da2a5c9e8ade3f7 (diff) | |
download | src-7955efd574b9.tar.gz src-7955efd574b9.zip |
Add support for jail.conf.d
Using /etc/jail.{jailname}.conf is nice, however it makes /etc/ very
messy if you have many jails. This patch allows one to move these
config files out of the way into /etc/jail.conf.d/{jailname}.conf.
Note that the same caveat as /etc/jail.*.conf applies: the jail service
will not autodiscover all of these for starting 'all' jails. This is
considered future work, since the behavior matches.
Reviewed by: kevans
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D24570
-rw-r--r-- | etc/mtree/BSD.root.dist | 2 | ||||
-rwxr-xr-x | libexec/rc/rc.d/jail | 4 | ||||
-rw-r--r-- | share/man/man5/rc.conf.5 | 9 |
3 files changed, 14 insertions, 1 deletions
diff --git a/etc/mtree/BSD.root.dist b/etc/mtree/BSD.root.dist index f734f7891429..8bea31212217 100644 --- a/etc/mtree/BSD.root.dist +++ b/etc/mtree/BSD.root.dist @@ -56,6 +56,8 @@ .. gss .. + jail.conf.d + .. kyua tags=package=tests .. mail diff --git a/libexec/rc/rc.d/jail b/libexec/rc/rc.d/jail index ff4336131bc9..1d544501e32b 100755 --- a/libexec/rc/rc.d/jail +++ b/libexec/rc/rc.d/jail @@ -120,12 +120,16 @@ parse_options() fi eval _jconf=\"\${jail_${_jv}_conf:-/etc/jail.${_j}.conf}\" eval _rootdir=\"\$jail_${_jv}_rootdir\" + eval _jconfdir=\"/etc/jail.conf.d/${_j}.conf\" eval _hostname=\"\$jail_${_jv}_hostname\" if [ -z "$_rootdir" -o \ -z "$_hostname" ]; then if [ -r "$_jconf" ]; then _conf="$_jconf" return 0 + elif [ -r "$_jconfdir" ]; then + _conf="$_jconfdir" + return 0 elif [ -r "$jail_conf" ]; then _conf="$jail_conf" return 0 diff --git a/share/man/man5/rc.conf.5 b/share/man/man5/rc.conf.5 index 57404b8c0e89..b9d22a789c3a 100644 --- a/share/man/man5/rc.conf.5 +++ b/share/man/man5/rc.conf.5 @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd July 8, 2021 +.Dd September 10, 2021 .Dt RC.CONF 5 .Os .Sh NAME @@ -3883,6 +3883,13 @@ The configuration filename used by utility. The default value is .Pa /etc/jail.conf . +.Pa /etc/jail. Ns Ao Ar jname Ac Ns Va .conf +and +.Pa /etc/jail.conf.d/ Ns Ao Ar jname Ac Ns Va .conf +will also be used if +.Va Ao Ar jname Ac Va +is set in +.Va jail_list . .It Va jail_parallel_start .Pq Vt bool If set to |