In a previous article, we showed you how to[create a shared directory in Linux][3]. Here, we will describe how to give read/write access to a user on a specific directory in Linux.
There are two possible methods of doing this: the first is[using ACLs (Access Control Lists)][4]and the second is[creating user groups to manage file permissions][5], as explained below.
For the purpose of this tutorial, we will use following setup.
```
Operating system: CentOS 7
Test directory: /shares/project1/reports
Test user: tecmint
Filesystem type: Ext4
```
Make sure all commands are executed as root user or use the the[sudo command][6]with equivalent privileges.
Let’s start by creating the directory called`reports`using themkdircommand:
```
# mkdir -p /shares/project1/reports
```
### Using ACL to Give Read/Write Access to User on Directory
Important: To use this method, ensure that your Linux filesystem type (such as Ext3 and Ext4, NTFS, BTRFS) support ACLs.
1.First,[check the current file system type][7]on your system, and also whether the kernel supports ACL as follows:
```
# df -T | awk '{print $1,$2,$NF}' | grep "^/dev"
# grep -i acl /boot/config*
```
From the screenshot below, the filesystem type isExt4and the kernel supportsPOSIX ACLsas indicated by theCONFIG_EXT4_FS_POSIX_ACL=yoption.
[
![Check Filesystem Type and Kernel ACL Support](http://www.tecmint.com/wp-content/uploads/2017/03/Check-Filesystem-Type-and-Kernel-ACL-Support.png)
][8]
Check Filesystem Type and Kernel ACL Support
2.Next, check if the file system (partition) is mounted withACLoption or not:
From the above output, we can see that default mount option already has support forACL. If in case it’s not enabled, you can enable it for the particular partition (/dev/sda3for this case):
```
# mount -o remount,acl /
# tune2fs -o acl /dev/sda3
```
3.Now, its time to assign a read/write access to a user`tecmint`to a specific directory called`reports`by running the following commands.
```
# getfacl /shares/project1/reports # Check the default ACL settings for the directory
# setfacl -m user:tecmint:rw /shares/project1/reports # Give rw access to user tecmint
# getfacl /shares/project1/reports # Check new ACL settings for the directory
```
[
![Give Read/Write Access to Directory Using ACL](http://www.tecmint.com/wp-content/uploads/2017/03/Give-Read-Write-Access-to-Directory-Using-ACL.png)
][10]
Give Read/Write Access to Directory Using ACL
In the screenshot above, the user`tecmint`now has read/write (rw) permissions on directory/shares/project1/reportsas seen from the output of the secondgetfaclcommand.
For more information about ACL lists, do check out our following guides.
1. [How to Use ACLs (Access Control Lists) to Setup Disk Quotas for Users/Groups][1]
2. [How to Use ACLs (Access Control Lists) to Mount Network Shares][2]
Now let’s see the second method of assigning read/write access to a directory.
### Using Groups to Give Read/Write Access to User on Directory
1.If the user already has a default user group (normally with same name as username), simply change the group owner of the directory.
```
# chgrp tecmint /shares/project1/reports
```
Alternatively, create a new group for multiple users (who will be given read/write permissions on a specific directory), as follows. However, this will c[reate a shared directory][11]:
```
# groupadd projects
```
2.Then add the user`tecmint`to the group`projects`as follows:
```
# usermod -aG projects tecmint # add user to projects
# groups tecmint # check users groups
```
3.Change the group owner of the directory to projects:
```
# chgrp projects /shares/project1/reports
```
4.Now set read/write access for the group members:
```
# chmod -R 0760 /shares/projects/reports
# ls -l /shares/projects/ #check new permissions
```
That’s it! In this tutorial, we showed you how to give read/write access to a user on a specific directory in Linux. If any issues, do ask via the comment section below.
Aaron Kili is a Linux and F.O.S.S enthusiast, an upcoming Linux SysAdmin, web developer, and currently a content creator for TecMint who loves working with computers and strongly believes in sharing knowledge.