linux下的ACL权限

前言

菜鸟的学习笔记

linux的ACL权限管理

 系统上chmod管理权限,有时不能满足需求,需要给个别用户(非所有者,非所属组)赋予权限,因此
 使用acl权限。

ACL权限简单认识


linux下的ACL权限_第1张图片


对上图的简单阐述

在home 目录下,有3个用户,分别是grq、grm、oracle。使用用户grq进入grm 文件夹下面。提示权限问题。
使用root用户 设置acl权限 
    setfacl -m u:用户名:rwx -R 目录
此处的“-R” 表示递归赋予权限。
如果要查看ACL权限  getfacl 目录

————————

linux下的ACL权限_第2张图片


对上图的简单阐述

[grq@cent32 grm]$ ll
总用量 24
-rw-rwxr--+ 1 root root  31 123 22:38 1.txt ##这里,执行ll后,显示了“+” ,这是在设置了ACL权限后才显示出来的
-rw-rwxr--+ 1 root root   5 123 22:39 2.txt
-rwxrwxrwx+ 1 root root 125 128 22:40 killHttpd.sh
[grq@cent32 grm]$ getfacl 1.txt ##查看文件的ACL权限
# file: 1.txt ##表示文件名称
# owner: root ##表示文件 所有者
# group: root ## 表示文件 所属组
user::rw-     ##表示 所有者的 权限
user:grq:rwx  ##表示用户grq 的ACL权限
group::r--    ##表示所属组的 权限
mask::rwx     ##表示最大 有效权限
other::r--    ## 表示其他人的权限

ACL权限的设置删除

ACL权限设置

[grq@cent32 home]$ ll
总用量 12
drwx------.  3 grm    grm    4096 22 19:49 grm
drwx------. 11 grq    grq    4096 1117 09:53 grq
drwx------.  3 oracle oracle 4096 131 10:47 oracle
[grq@cent32 home]$ cd grm ##以grq 的用户身份进入用户grm目录下 权限拒绝
-bash: cd: grm: 权限不够

###########设置ACL权限##################
[root@cent32 home]# setfacl -m u:grq:wx grm ##给用户 grq 设置文件夹grm wx权限
[root@cent32 home]# getfacl grm
# file: grm
# owner: grm
# group: grm
user::rwx
user:grq:-wx##用户grq对这个文件夹的权限
group::---
mask::-wx
other::---
###################################
[grq@cent32 home]$ cd grm
[grq@cent32 grm]$ ll ##权限只是设置了wx 可以新建文件 但是r的权限没法执行
ls: 无法打开目录.: 权限不够
[grq@cent32 grm]$ touch 1.txt
[grq@cent32 grm]$ ll
ls: 无法打开目录.: 权限不够
[grq@cent32 grm]$ 
[root@cent32 home]# setfacl -m d:u:grq:rwx -R grm
-m 表示添加权限 
d 表示默认acl权限
u表示是给用户设置权限 还可以用g,表示给组设置权限
-R 表示 递归赋予权限

ACL权限删除

[root@cent32 home]# setfacl 选项 文件
选项
    -b 删除所有ACL权限
    -x 删除制定的ACL权限
        setfacl -x g:组名 文件名 ##删除制定组名的ACL权限
        setfacl -x u:用户名 文件名 ##删除制定用户的ACL权限
    -k 删除默认的ACL权限


    -m 设定ACL权限
    -R 递归设定ACL权限

默认ACL权限和最大权限

默认ACL

如果我们每新建一个文件都需要从新设置一下ACL权限,这样岂不是很麻烦,所以就用到了ACL的默认权限。
默认ACL权限的作用是如果给父目录设定了默认ACL权限,那么父目录中所有新建的子文件都会继承父目录的ACL权限。
与其他的区别就是多了一个 d
[root@cent32 home]# setfacl -m d:u:grq:rwx   grm

最大权限


[root@cent32 home]# Setfacl -m m:rx 文件名##设置最大权限

ACL权限和最大权限做与运算,得到的权限就是最终的权限
比如 ACL权限是 rwx, 最大权限是rx,那么最终的权限就是rx.

rwx文件和文件夹

文件夹的 rwx r:查看文件 w:写入删除文件 x:切入目录
文件的rwx r:查看文件    w:写入内容    x:执行

你可能感兴趣的:(linux)