Understand Access Control Lists for CentOS 8

Access Control Lists (ACL) provides flexible permission mechanism for file system. ACL assists with file permission, it allows to give permissions for any user or group to any directory or file.

Using ACL you can also give required access to a user which is not a member of a group. Basically we can ACL to make a flexible permission mechanism in linux.

setfacl and getfacl are used for Setting up ACL and showing ACL respectively.

Now we will demonstrate some examples of ACL.

Lets suppose you have a file named test.acl in root directory and you want to check the ACL details of that file. just simply run the following command:

getfacl test.acl

as you can see from the output the file belong to user and group “root”. user has read permission and group and other have only read permission.

You can also change the ACL conditions of the file.

Following are the basic commands to use while setting ACL or changing ACL.

1) To add permission for user
setfacl -m "u:user:permissions" /path/to/file

2) To add permissions for a group
setfacl -m "g:group:permissions" /path/to/file 

3) To allow all files or directories to inherit ACL entries from the directory it is within
setfacl -dm "entry" /path/to/dir

4) To remove a specific entry
setfacl -x "entry" /path/to/file

5) To remove all entries
setfacl -b path/to/file

Now suppose you want to give read and write permission to “test.acl” file placed in root, you will run the following command:

setfacl -m "u:root:rwx" test.acl

As you can see in the above mentioned output we have changed the permission to read and write for user root.

Now suppose that you want to remove added entries of test.acl file. You simply have to run the following command:

setfacl -b test.acl

In above output you can clearly see that permission for user root that was added by me has been removed.

Similarly you can change the permission using ACL according to your need.


Please enter your comment!
Please enter your name here

Latest articles

You might also likeRELATED

Install Anaconda Navigator Graphical Interface in centos 8

In this article we will Install Anaconda Navigator Graphical Interface in centos 8. Anaconda is a widely-used, open-source distribution of the Python programming language....

How to Install Apache ServiceMix on CentOS 8

In this article we will learn How to Install Apache ServiceMix on CentOS 8. Apache ServiceMix is a runtime container for service-oriented architecture components,...

How to Install Lighttpd Web server on CentOS 8

In this post, you will learn how to Install Lighttpd on CentOS 8 Lighttpd is an open-source, secure, fast, flexible, and more optimized web server...