Hi freebsd-jail@freebsd.org
I have a problem with an immutable flag, running make world in a jail,
Any ideas please ?

The 9.1-RELEASE jail I built on a 9.1-RELEASE laptop, with
ports/sysutils/ezjail then I replaced all the shared bits with own
local copies of all files within the chroot, it worked fine, & still
works fine from 2 prisons, those prisons I meantime have upgraded on 
2 different partitions, to 9.2 & 10.0-RELEASE ...  but ...

Each time I run a make world within the jail (running on a 9.2
prison), the jail world hangs, & I have to login to prison, go root
& rescue the jail, though I fail to rescue the world upgrade.

The next jail to upgrade is in a prison I'm not root for, It's an
operational jail, (built the same way as this test jail) & I won't
touch it till I find a solution.  Something I'm missing, forgetting,
or a real bug perhaps ?

Here's an approx. abbrevated transcript of what I've tried.  Ideas please ?

Jail:
        cd /usr/src/lib ; make install
                install -s -o root -g wheel -m 444   -fschg -S  libc.so.7 /lib
                install: rename: /lib/INS@3Xhe to /lib/libc.so.7: \
                        Operation not permitted

        Also fails:
                chflags -R noschg /
                chflags noschg /lib/libc.so.7
Prison :
        chflags noschg /usr1/jail/jstest/lib/libc.so.7
                # That still would not allow make world to run in jail, 

        sysctl security.jail.param.allow.chflags=1
Jail:
        chflags -R noschg /
        cd /usr/src
        make world
                ===> lib/libc (install)
                install -C -o root -g wheel -m 444   libc.a /usr/lib
                install -C -o root -g wheel -m 444   libc_p.a /usr/lib
                install -s -o root -g wheel -m 444   -fschg -S  libc.so.7 /lib
                install: /lib/libc.so.7: chflags: Operation not permitted
                *** [_libinstall] Error code 71
Prison:
        sysctl -a | grep chflag
                security.jail.param.allow.chflags: 0
                security.jail.chflags_allowed: 0
        sysctl -d security.jail.param.allow.chflags
                security.jail.param.allow.chflags:      \
                         Jail may alter system file flags
        sysctl -d security.jail.chflags_allowed
                security.jail.chflags_allowed:  \
                         Processes in jail can alter system file flags
        sysctl security.jail.param.allow.chflags=1
                security.jail.param.allow.chflags: 0 -> 0
        sysctl security.jail.chflags_allowed=1
                security.jail.chflags_allowed: 0 -> 1
        sysctl -a | grep chflag
                security.jail.param.allow.chflags: 0
                security.jail.chflags_allowed: 1
        sysctl security.jail.param.allow.chflags=1
                sysctl security.jail.param.allow.chflags=1
                security.jail.param.allow.chflags: 0 -> 0
        cd /lib ; tar cf - libc.so.7 | ( cd /usr1/jail/jstest/lib && tar xf - )
Jail:
        cd /usr/src/lib/libc
        make install
                install -C -o root -g wheel -m 444   libc.a /usr/lib
                install -C -o root -g wheel -m 444   libc_p.a /usr/lib
                install -s -o root -g wheel -m 444   -fschg -S  libc.so.7 /lib
                install: rename: /lib/INS@sS7m to /lib/libc.so.7:       \
                         Operation not permitted
        install -s -o root -g wheel -m 444  -S  /usr/obj/`pwd`/libc.so.7 /lib
                install: rename: /lib/INS@lsAo to /lib/libc.so.7:       \
                         Operation not permitted
        install -s -o root -g wheel -m 444 /usr/obj/`pwd`/libc.so.7 /lib
                install: /lib/libc.so.7: Operation not permitted
        chflags -R noschg /
                chflags: /lib/libc.so.7: Operation not permitted
Prison:
        chflags -R noschg /usr1/jail/jstest
        statv /usr1/jail/jstest/lib/libc.so.7
                Flags                                           <none>
        # http://www.berklix.com/~jhs/src/bsd/jhs/bin/public/statv/statv.c
Jail: 
        install -s -o root -g wheel -m 444 /usr/obj/`pwd`/libc.so.7 /lib
                NO ERROR ! But make world will want more so
        install -s -o root -g wheel -m 444 -fschg -S \
                  /usr/obj/`pwd`/libc.so.7 /lib
                install: /lib/libc.so.7: chflags:       \
                         Operation not permitted
Prison:
        ls -l /usr1/jail/jstest/lib/libc.so.7
        cd /lib ; tar cf - libc.so.7 | ( cd /usr1/jail/jstest/lib && tar xf - )
        ls -l /usr1/jail/jstest/lib/libc.so.7
        statv /usr1/jail/jstest/lib/libc.so.7 | grep Flags
                Flags                                           <none>
Jail: 
        install -s -o root -g wheel -m 444 -fschg -S    \
                  /usr/obj/`pwd`/libc.so.7 /lib
                install: /lib/libc.so.7: chflags: Operation not permitted
        chflags noschg /lib/libc.so.7
                Shared object "libc.so.7" not found, required by "chflags"
Prison:
        cd /lib ; tar cf - libc.so.7 | ( cd /usr1/jail/jstest/lib && tar xf - )
        sysctl -a | grep chflag
                security.jail.param.allow.chflags: 0
                security.jail.chflags_allowed: 1
Jail: 
        sysctl -a | grep chflag
                security.jail.param.allow.chflags: 0
                security.jail.chflags_allowed: 0

PS re. auditdistd:
 Jail vipw does show
  auditdistd:*:78:77::0:0:Auditdistd unprivileged 
user:/var/empty:/usr/sbin/nologin
 (though I did get bitten by lack of that earlier.)

 Curiously my 9.2 prison did not have that line (maybe deleted by mistake)
 I just added it [back] & started another make world overnight in prison 9.2.

 My 10.0 prison /etc/master.passwd does have that line (though I'm not doing
 jail build from 10 prison)

PPS I have always hated FreeBSD immutable bits, & turned them off.

Cheers,
Julian
-- 
Julian Stacey, BSD Unix Linux C Sys Eng Consultant, Munich http://berklix.com
 Reply below not above, like a play script.  Indent old text with "> ".
 Send plain text.  No quoted-printable, HTML, base64, multipart/alternative.
_______________________________________________
freebsd-jail@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-jail
To unsubscribe, send any mail to "freebsd-jail-unsubscr...@freebsd.org"

Reply via email to