Allow specific user permission to read/write my folder

44

30

I have a folder /home/samantha/folder that I want to share with the user tom. He can read/write the folder. How do I do that?

chown wouldn't do it because I still want to be able to be the owner of the folder. I don't see how to do this with chmod either.

Zenet

Posted 2011-01-19T18:05:56.637

Reputation: 665

Answers

61

If you are using Linux with a relatively modern filesystem (ext3/ext4, btrfs, ntfs), this can be done with POSIX ACLs:

  1. Enable ACLs for the filesystem. This is only necessary for ext3 and ext4 on kernels older than 2.6.38. All other filesystems that support ACLs enable them automatically.

    mount -o remount,acl /
    tune2fs -o acl /dev/<partition>
    
  2. Give tom access to the folder:

    setfacl -m user:tom:rwx /home/samantha/folder
    

If the OS or the filesystem does not support ACLs, another way is to use groups.

  1. Create a group.

    • Some Linux distributions create a separate group for each user: tom would automatically be in a group also named tom.

    • If not, create a group. This should work on Linux...

      groupadd tom
      gpasswd -a tom tom
      

      ...and this - on BSD:

      groupadd tom
      usermod -G tom tom
      
  2. chgrp the directory to that group, and give permissions with chmod:

     chgrp tom /home/samantha/folder
     chmod g+rwx /home/samantha/folder
    

user1686

Posted 2011-01-19T18:05:56.637

Reputation: 283 655

And tom will also need execute permission on /home/samantha to be able to reach /home/samantha/folder. – Lord Loh. – 2015-07-16T17:20:54.353

FWIW, the OP added an additional answer instead of commenting. He/she has a question about your solution. Thanks. – None – 2012-12-07T03:32:04.290

2

Add both users to a common group. Make that group own the directory, and assign group permissions as needed.

user89272

Posted 2011-01-19T18:05:56.637

Reputation: