On Sun, 17 Aug 2003, Ulrich Spoerlein wrote:

> I'm trying to build a new LiveCD based upon the Freesbie scripts, and
> well, I don't want to require superuser privileges to build the LiveCD
> image. While this is not a problem with 'make buildworld' 'make
> distribution' in /usr/src/etc is "broken" for the non-root case.
>
> Attached are some patches to make this work by make the user/group
> info passed to install overrideable.
>
> The problem now lies with 'make installworld' which currently dies here:
> ===> lib/libcom_err/doc
> install-info --quiet  --defsection="Programming & development tools."  --defentry="* 
> libcom_err: (com_err).        A Common Error Description Library for UNIX."  
> com_err.info /usr/test/root/usr/share/info/dir
> /usr/test/root/usr/share/info/dir: Permission denied
> *** Error code 1
>
> because /usr/share/info/dir has permissions 444 and therefore the 'user'
> can't write to that file (whereas mode 444 wouldn't stop the superuser)
>
> The question now is, should I provide patches to make this work. Do "we"
> actually want this to work? Or is anybody trying to run installworld as
> non-user doing something completely stupid?

I tried this the other day but gave up on the info dir.  I was doing
something stupid -- I knew that installworld wouldn't work and only
wanted to test buildworld, but forgot to change the test script :-).

Setting INFOMODE to 644 should work after you fix all the hard-coded
ownerships and modes.  Other defaults for the mode may need to be changed
similarly.

The default read-only modes are bogus for root anyway.  BINMODE=555 only
made sense when BINOWN was bin.  But read-only modes are a safe default.

> --- etc/isdn/Makefile.orig    Sun Aug 17 20:14:23 2003
> +++ etc/isdn/Makefile Sun Aug 17 20:14:48 2003
> @@ -18,8 +18,8 @@
>
>  install:
>               for i in ${I4BETCPROG} ; do \
> -               ${INSTALL} -o root -g wheel -m 700 $$i ${DESTDIR}/etc/isdn ; \
> +               ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 700 $$i ${DESTDIR}/etc/isdn 
> ; \
>               done ; \
>               for i in ${I4BETCFILE} ; do \
> -               ${INSTALL} -o root -g wheel -m 600 $$i ${DESTDIR}/etc/isdn ; \
> +               ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 600 $$i ${DESTDIR}/etc/isdn 
> ; \
>               done

The patches make some lines too long.

> --- etc/rc.d/motd.orig        Sun Aug 17 20:24:01 2003
> +++ etc/rc.d/motd     Sun Jun 15 18:55:59 2003
> @@ -33,7 +33,7 @@
>       #
>       echo "Updating motd."
>       if [ ! -f /etc/motd ]; then
> -             install -c -o ${BINOWN} -g ${BINGRP} -m ${PERMS} /dev/null /etc/motd
> +             install -c -o root -g wheel -m ${PERMS} /dev/null /etc/motd
>       fi
>
>       case ${OSTYPE} in

This partcular patch seems to be reversed.

I don't see how rc.d can know the build defaults.  Perhaps it shouldn't.
It could adjust ownerships and modes to runtime defaults if the build
ones are insecure.

Bruce
_______________________________________________
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to