I have a headless Ubuntu 12.10 server. I'm logged in as administrator via SSH. I cannot create a directory in my home directory:
administrator@Leo:~$ cd ~
administrator@Leo:~$ mkdir Test
mkdir: cannot create directory `Test': Permission denied
The equivalent as root does work:
administrator@Leo:~$ sudo mkdir Test
administrator@Leo:~$ ls -al
total 12
dr-x------ 3 administrator administrator 4096 Jul 14 21:14 .
drwxr-xr-x 6 root root 4096 Oct 26 2011 ..
lrwxrwxrwx 1 administrator administrator 56 Sep 11 2011 Access-Your-Private-Data.desktop -> /usr/share/ecryptfs-utils/ecryptfs-mount-private.desktop
lrwxrwxrwx 1 administrator administrator 39 Sep 11 2011 .ecryptfs -> /home/.ecryptfs/administrator/.ecryptfs
lrwxrwxrwx 1 administrator administrator 38 Sep 11 2011 .Private -> /home/.ecryptfs/administrator/.Private
lrwxrwxrwx 1 administrator administrator 52 Sep 11 2011 README.txt -> /usr/share/ecryptfs-utils/ecryptfs-mount-private.txt
drwxr-xr-x 2 root root 4096 Jul 14 21:14 Test
I am unsure where the ecryptfs-related stuff comes from. I don't believe I requested encryption of my home directory, but perhaps that is causing things to go awry? Can anyone explain what's gone wrong here and/or provide a solution?
The current directory (your home) is missing the "w" (write) permission. Try these commands
Don't forget the dot at the end. It represents the current directory.
Or you can do the same with just one command:
You don't even need sudo according to my tests.
Looks like ownership on your home directory is messed up. At the very least, you should have write permission to your own home, and it looks like that is not the case. Here is the top few lines of output when I look at my own home directory:
Since it seems that root is able to do what it should, try the following:
Note that this is not recursive, so it will only affect the home folder. After you've done this, try another ls -la and see what permissions on . are. If they seem to be changed, try mkdir again without using sudo or root, or simply 'touch afile'
Let me know how it goes!
Try a