When you say switched on, was it switched on and logged in?
If it was, then what probably happened is that at some point, the permissions for your user got changed, but had no effect until you logged out (and restarted).
Use the root account to check the permissions and ownership of the home folder for the user that is having difficulty.
If all the files in the user's home folder should be readable, writeable and executable by the user (whom we shall name 'bob') and his group (which will also be called 'bob'), then the following commands should make them all accessible, if run as root. If the ownership is more complicated, then you may need to do it manually.
Code:
chown -R bob:bob ~bob
makes bob's home folder [~bob] belong to user:group 'bob:bob'
Code:
chmod -R ug+rwx ~bob
makes all files in bob's home folder [~bob] readable, writeable and executable by their owner (who would be bob, because of the last command) and their owning group (bob the group, see above)
If you want to check permissions, without changing them, then run one of these commands:
To check the ownership of all the files in bob's home folder, and highlight any files that do not belong to him and his group.
Code:
ls -lR ~bob | grep -v "bob bob"
The first half lists ALL files in bob's home folder, the '|' symbol tells bash to pass the output to the 'grep' command, which takes out all the entries which have a reference to "bob bob" in them, i.e. 'bob' listed as both owner and group.
To find all files where the permissions are not at least readable, writeable and executable to the owner and group, run:
Code:
ls -lR ~bob | grep -v "^.rwxrwx"
This works in a similar way to the above, note that it makes no reference to who the owner is. It checks each line, starting from the second character, for 'rwxrwx', which refer first to owner then to group having read, write and execute permissions. The '^.' makes it start at the second character.
Hope this helps.