by Devin Yang
(This article was automatically translated.)

Published - 5 years ago ( Updated - 5 years ago )

I think most of the current Linux supports Access Control List (ACL). With filesystem ACLs enabled,
We can set additional permissions to different users or groups.
This allows us to set the file system permissions of different users more freely.

Go straight to the command.
The u at the bottom represents setting the share folder, and the test user has rwx permission.
setfacl -m u:test:rwx share/
Changing to g means that the group that sets test has rwx permission to the share/folder.
setfacl -m g:test:rwx share/
If you want to set all files in the directory that also includes subdirectories, the parameter is -R. (recursive)
Combined input is -Rm.

Here comes the problem, if it is set like this, all files will have execution permission. So how to set
Files do not have x permissions, only directories have x execution permissions (permissions to enter directories).
Very easy, we can do it with a capital X.
E.g:
setfacl -Rm u:git:rwX /var/www
This way there will be a beautiful color instead of a miserable green.

As a side note, we use getfacl to get additional file information.
For example: I set the git user as root with the following permissions.
setfacl -Rm u:git:rwX humanity-1.10.4/
Use git user to view

In the picture above, have you noticed -rw-rw-r--+. When ls -l, there is an extra +.
It is very obvious, which means that this file has additional ACL permission settings.

Now use getfacl images to see the user (user) authority of the images directory, which has execution authority.

If you like this article, please give me a Like? 

 

Tags: linux

Devin Yang

Feel free to ask me, if you don't get it.:)

No Comment

Post your comment

Login is required to leave comments

Similar Stories


linux

How to check apache loaded and enabled which modules?

How to check apache loaded and enabled which modules?

linux,config

Ubuntu ppp0 renamed eth0

Not sure who will use it, but I encountered it myself, because my home is a floating IP. A software I installed cannot detect that the ppp0 network card is an external network, so changing the name can trick him into successfully installing it.

linux, cli

How to use the find command to find files that have been changed within 7 days

If we have changed some files, how to find out through the command line?