screwed up permissions in tree

Christian Baer christian.baer at uni-dortmund.de
Fri May 7 16:27:03 UTC 2010


Hi there people!

I guess I really screwed up the rights within my source-tree (and maybe
share too). It all started pretty innocent. :-)

I wanted to encrypt /usr and /var, which are both mounted on dedicated
partions on this machine. There was still one unused partition, which I
will call (and mount) /enctmp for the steps I took. This is how I did it:

- cp -rpv /usr/* /enctmp
- change fstab so that after a reboot /usr will be where /enctemp is now
- reboot
- geli init -b -e AES -l 256 [device]
- geli attach [device]
- newfs [device]
- mount [device] /enctmp
- cp -rpv /usr/* /enctemp
- change fstab back to the old device, adding .eli
- reboot

I did the same steps for var.
Note: I also have an own partition for /usr/obj/ (on a different drive).

Now when booting, I am asked for a passwort twice and the system works
fine - as far as I can tell, since I have only just set it up.

What doesn't work, is installing world! :-O I went to /usr/src/, did a
make buildworld and make buildkernel (both of which worked). Even make
installkernel worked, just the world refuses to be installed:

--------------------------------------------------------------
>>> Making hierarchy
--------------------------------------------------------------
cd /usr/src; make -f Makefile.inc1 hierarchy
cd /usr/src/etc;                make distrib-dirs
mtree -eU  -f /usr/src/etc/mtree/BSD.root.dist -p /
mtree -eU  -f /usr/src/etc/mtree/BSD.var.dist -p /var
mtree -eU  -f /usr/src/etc/mtree/BSD.usr.dist -p /usr
mtree -eU  -f /usr/src/etc/mtree/BSD.include.dist  -p /usr/include
mtree -deU  -f /usr/src/etc/mtree/BSD.sendmail.dist -p /
cd /; rm -f /sys; ln -s usr/src/sys sys
cd /usr/share/man/en.ISO8859-1; ln -sf ../man* .
ln: ./man1: Operation not permitted
ln: ./man1aout: Operation not permitted
ln: ./man2: Operation not permitted
ln: ./man3: Operation not permitted
ln: ./man4: Operation not permitted
ln: ./man5: Operation not permitted
ln: ./man6: Operation not permitted
ln: ./man7: Operation not permitted
ln: ./man8: Operation not permitted
ln: ./man9: Operation not permitted
*** Error code 1

Stop in /usr/src/etc.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.

It would seem that somewhere in this copy-orgy, some file or directory
permissions (or ownership?) got messed up. Is there a way to correct
this (preferably automagically)? If rebuilding /usr/src is all it takes,
no problem, I have a DSL. It will take a while, but it won't kill me.
:-) Is there any documentation about what the ownerships and permissions
should be?

Best regards from Germany,
Chris


More information about the freebsd-stable mailing list