jid and jname are numberic by default why? Can we change it ?

Daniel Shahaf danielsh at apache.org
Sat Jan 28 22:47:57 UTC 2012


Bjoern A. Zeeb wrote on Sat, Jan 28, 2012 at 21:06:59 +0000:
> 
> On 28. Jan 2012, at 08:19 , Daniel Shafaf wrote:
> 
> > Matt Mullins wrote on Fri, Jan 27, 2012 at 12:06:48 -0800:
> >> On Fri, Jan 27, 2012 at 9:08 AM, Philip M. Gollucci <pgollucci at gmail.com> wrote:
> >>> All,
> >>> 
> >>> $ jls -nq | tail -1 | xargs -n1 | egrep '^(name|jid)='| xargs
> >>> jid=17 name=17
> >>> 
> >>> # jubilee/chef
> >>> jail_jubilee_hostname="jubilee.dca1.rws"
> >>> jail_jubilee_ip="192.168.2.41"
> >>> jail_jubilee_ip_multi0="192.168.2.42"
> >>> jail_jubilee_interface="bge1"
> >>> jail_jubilee_rootdir="/jubilee"
> >>> jail_jubilee_devfs_enable="YES"
> >> 
> >> The default flags that /etc/rc.d/jail passes to jail(8) are "-l -U
> >> root".  Failing to give jail(8) a name results in name==jid, as you
> >> found above.
> >> 
> >> You can make the rc script name the jail by setting:
> >> jail_jubilee_flags="-n jubilee -l -U root"
> >> 
> > 
> > Good point.  Would it make sense to have rc.d/jail behave this way by
> > default?
> > 
> > % diff -u /etc/rc.d/jail jail 
> > --- /etc/rc.d/jail      2012-01-21 18:22:26.000000000 +0200
> > +++ jail        2012-01-28 10:13:03.000000000 +0200
> > @@ -112,7 +112,7 @@
> >        eval _fstab=\"\${jail_${_j}_fstab:-${jail_fstab}}\"
> >        [ -z "${_fstab}" ] && _fstab="/etc/fstab.${_j}"
> >        eval _flags=\"\${jail_${_j}_flags:-${jail_flags}}\"
> > -       [ -z "${_flags}" ] && _flags="-l -U root"
> > +       [ -z "${_flags}" ] && _flags="-n ${_j} -l -U root"
> >        eval _consolelog=\"\${jail_${_j}_consolelog:-${jail_consolelog}}\"
> >        [ -z "${_consolelog}" ] && _consolelog="/var/log/jail_${_j}_console.log"
> >        eval _fib=\"\${jail_${_j}_fib:-${jail_fib}}\"
> > 
> 
> No.  rc.d/jail shall not be extended anymore; please see the framework Jamie posted
> on freebsd-jail last year and test/review/report back there.
> 
> See http://lists.freebsd.org/pipermail/freebsd-jail/2011-July/thread.html#1568
> 

It appears that the problem is already solved in that framework:
a jail.conf(5) block defining a jail is required to be preceded by
a jailname{}, which is documented to set the jail(8)'s name.  In other
words, it won't be possible to define in jail.conf(5) a jail that will
end up nameless (and thus implicitly named as its jid).

Thanks for the pointer,

Daniel

[1] http://svn.freebsd.org/base/projects/jailconf/usr.sbin/jail/jail.conf.5

P.S.  As an aside, the provision in projects/jailconf/'s jail(8) that
it's not possible for 'jail -r' to remove all jails _unless_ the '*'
syntax is used seems unusual to me: I expect 'jail -r foo bar' to remove
those two jails regardless of whether any other jails exist.  (Sorry if
this has been discussed already -- it's just an issue I ran across while
examining the jail(8) man page in Jamie's framework.)

> You get a config file etc and get rid of all the shell "magic" and "nightmare".
> 
> /bz
> 
> 
> >> Notice the rc script uses the second form of syntax listed in jail(8),
> >> at least on 9.0-RELEASE.
> > _______________________________________________
> > freebsd-current at freebsd.org mailing list
> > http://lists.freebsd.org/mailman/listinfo/freebsd-current
> > To unsubscribe, send any mail to "freebsd-current-unsubscribe at freebsd.org"
> 
> -- 
> Bjoern A. Zeeb                                 You have to have visions!
>    It does not matter how good you are. It matters what good you do!
> 


More information about the freebsd-current mailing list