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 / \
pgpnuhNxAl49N.pgp
Description: PGP signature