9.1 permissions in the / directory

Daniel Bye freebsd-questions at slightlystrange.org
Thu Nov 15 16:41:10 UTC 2012


On Wed, Nov 14, 2012 at 05:12:59PM -0500, Joseph Mays wrote:
> Have a recently set up 9.1 RC1 system. Someone (not me, just sayin')
> did a chmod 600 in the / directory. Needless to say this caused
> numerous problems. I tried to change them back as best I could by
> comparing them to an older directory, but some things are still not
> right. Trying to log in, via either console or ssh  as anyone other
> than root. Ssh gets:
> 
> %ssh mays@[redacted]
> Password:
> Last login: Wed Nov 14 15:50:37 2012
> Could not chdir to home directory /home/mays: Permission denied
> /bin/tcsh: Permission denied
> Connection to [redacted] closed.
> %
> 
> followed by a disconnect. Console complains about the /home/user
> directory not being there (though it is and the permissions look
> normal), says it's logging in with slash instead, then says
> "/bin/tcsh: no such file or directory", though /bin/tcsh is there
> and permissions look fine. I'm attaching a screenshot of the message
> log that shows up on console logins.
> 
> So, two questions. What is causing the problem, and does anyone have
> anything that shows what the normal / directory permissions for 9.1
> RC1 should look like?

First, login fails to read the user's home directory, because the
permissions on either /usr or /home (depending on whether your /home is a
directory, or a symlink to /usr/home) don't allow it to see any contained
files or directories, even though, from what you say, all contained files
and subdirectory permissions are correct.  It then attempts to fall back to
using / as an emergency home for this session, but then fails to find
/bin/tcsh, because the permissions on /bin prevent it from seeing anything
it contains.

Second, you can restore most, if not all, of the correct permissions with
the mtree tool. Log in as root, and then run this:

 # cd /
 # mtree -Uef /etc/mtree/BSD.root.dist

The mtree specification file, /etc/mtree/BSD.root.dist, contains a list of
the files and directories that are installed in a standard FreeBSD system,
along with the correct ownership and permissions for those objects. The -U
flag tells mtree to modify any objects that don't match the specification,
and the -e flag tells it not to warn about files it finds on disk but not in
the specification file.

Dan

-- 
Daniel Bye

                                                                     _
                                              ASCII ribbon campaign ( )
                                         - against HTML, vCards and  X
                                - proprietary attachments in e-mail / \
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-questions/attachments/20121115/e376e694/attachment.sig>


More information about the freebsd-questions mailing list