Cannot Create File/Directory in Home Directory

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?

2

3 Answers

The current directory (your home) is missing the "w" (write) permission. Try these commands

cd ~
chmod u+w .

Don't forget the dot at the end. It represents the current directory.

Or you can do the same with just one command:

chmod u+w ~

You don't even need sudo according to my tests.

2

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:

mike@cobbler:~$ ls -al
total 474700
drwxr-xr-x 45 mike mike      4096 Jul 14 12:55 .
drwxr-xr-x  3 root root      4096 May 28 15:39 ..

Since it seems that root is able to do what it should, try the following:

sudo chmod 755 ~/

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!

3

Try a

sudo chown administrator:administrator -R /home/administrator
sudo chmod u+w .
1

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

James H. Sterling

James H. Sterling

Environmental Science & Climate Journalist

James Sterling reports on renewable energy developments, climate policy, ecological conservation, and green tech innovations around the globe.

Share this article
Twitter Facebook Pinterest