Linux-权限管理(ACL权限)

简介: 版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/twilight_karl/article/details/76595336 ACL简介目前已知的三种权限分别是,所有者权限,所属组权限,和其他人权限。
版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/twilight_karl/article/details/76595336

ACL简介

目前已知的三种权限分别是,所有者权限,所属组权限,和其他人权限。这三种权限有时并不能很好的指定所有用户的权限。当无法使用这三种权限准确的指定一个用户的权限时,可以使用acl给用户或用户组指定特定的权限。例如,所有者和所属组具有最高权限。其他人具有0权限。此时我希望给一个用户设定r-x权限。这时用以上三种权限很难实现。就可以用acl指定该用户的权限。

设定/查看 ACL权限

  • getfacl 文件名 : 查看acl权限
  • setfacl 选项 文件名 : 设置acl权限

常见参数:
- -m 设定ACL权限
- -x 删除指定的ACL权限
- -b 删除所有的ACL权限
- -d 设定默认ACL权限
- -k 删除默认ACL权限
- -R 递归设定ACL权限

  • 给特定用户设置acl权限:

setfacl -m u:username:rx 文件或目录

  • 给特定用户组设置acl权限:

setfacl -m g:groupname:rx 文件或目录

例如有test目录,所有者是twilight,所属组是stu,都具有最高权限,具体属性如下:

drwxrwx---.  2 twilight stu         6 7月  25 20:05 test

如果此时希望添加一个lw用户,使之具有r-x权限,可以使用acl:

setfacl -m u:lw:rx test

用getfacl查看acl权限:

[root@localhost home]# getfacl test
# file: test
# owner: twilight
# group: stu
user::rwx
user:lw:r-x
group::rwx
mask::rwx
other::---

此时查看test目录的属性:

drwxrwx---+  2 twilight stu         6 7月  25 20:05 test

最大有效权限 mask

mask 是最大权限,用户指定的权限需要与mask进行与运算,运算的结果才是用户实际具有的权限。
setfacl -m m:r-x 文件或目录

[root@localhost home]# setfacl -m m:r-x test
[root@localhost home]# getfacl test
# file: test
# owner: twilight
# group: stu
user::rwx
user:lw:rwx         #effective:r-x
group::rwx          #effective:r-x
mask::r-x
other::---

删除 ACL 权限

  • 删除指定用户的acl权限

    setfacl -x u:用户名 文件或目录

  • 删除指定用户组的acl权限

    setfacl -x g:用户组名 文件或目录

  • 删除文件的所有acl权限

    setfacl -b 文件名

[root@localhost home]# setfacl -x u:lw test
[root@localhost home]# getfacl test
# file: test
# owner: twilight
# group: stu
user::rwx
group::rwx
mask::rwx
other::---

递归权限

父目录在设定acl权限是,所有的已存在的子文件俺和子目录也会具有相同的acl权限。只能针对目录
setfacl -m u:lw:r-x -R 目录名

给test目录赋予r-x递归权限:

 setfacl -m u:lw:r-x -R test

test的子目录和子文件都会有acl权限:

[root@localhost test]# ll
总用量 0
drwxrwxr-x+ 2 root root 6 7月  25 21:15 dir
-rw-rw-r--+ 1 root root 0 7月  25 21:15 file

但是此时会出现一个问题,test的权限是r-x,代表可以对目录进行读和进入目录操作。但是同样的r-x对于文件来说作用是不同的。对于文件r-x表示读和执行,执行权限是最高权限。这样给文件赋予r-x权限是很不安全的。这种情况叫做权限溢出
这是acl最大的缺陷,只能手动的修改权限。

默认权限

父目录中给所有新建的子文件都会集成父目录的ACL权限。
setfacl -m d:u:用户名:r-x 目录名

[root@localhost home]# setfacl -m d:u:lw:r-x test
[root@localhost home]# getfacl test
# file: test
# owner: twilight
# group: stu
user::rwx
user:lw:rw-
group::rwx
mask::rwx
other::---
default:user::rwx
default:user:lw:r-x
default:group::rwx
default:mask::rwx
default:other::---

递归权限 和 默认权限的异同

  • 递归权限:对当前已存在的文件
  • 默认权限: 对该目录接下来新建的子文件
相关文章
|
16天前
|
安全 Linux 数据安全/隐私保护
Linux权限详解
Linux权限详解
|
26天前
|
Linux 数据安全/隐私保护 Windows
Linux入门指南:linux权限究竟是什么?和文件有什么关系?
Linux入门指南:linux权限究竟是什么?和文件有什么关系?
30 0
|
28天前
|
算法 Linux C++
【Linux系统编程】解析获取和设置文件信息与权限的Linux系统调用
【Linux系统编程】解析获取和设置文件信息与权限的Linux系统调用
29 0
|
16天前
|
Linux 数据安全/隐私保护
Linux权限管理
Linux权限管理是一种控制用户和程序对文件和文件夹的访问的方法。它使用三个主要的概念:所有者(owner)、群组(group)和其他(others)。 每个文件和文件夹都有一个所有者,这是创建该文件或文件夹的用户。所有者拥有最高的权限,可以对文件和文件夹进行更改、读取和删除。群组是一组用户,他们可以共享文件和文件夹的权限。其他用户是除所有者和群组以外的其他用户。 Linux使用三个主要的权限:读、写和执行。读权限允许用户查看文件或文件夹的内容,写权限允许用户更改文件或文件夹的内容,执行权限允许用户运行文件或文件夹中的程序。是一种控制用户和程序对文件和文件夹的访问的方法。它使用三个主要的概念:
14 1
|
16小时前
|
安全 Linux Shell
【linux基础(四)】对Linux权限的理解
【linux基础(四)】对Linux权限的理解
|
1天前
|
Linux 数据安全/隐私保护
Linux权限管理
Linux权限管理是一种控制用户和程序对文件和文件夹的访问的方法。它使用三个主要的概念:所有者(owner)、群组(group)和其他(others)。 每个文件和文件夹都有一个所有者,这是创建该文件或文件夹的用户。所有者拥有最高的权限,可以对文件和文件夹进行更改、读取和删除。群组是一组用户,他们可以共享文件和文件夹的权限。其他用户是除所有者和群组以外的其他用户。 Linux使用三个主要的权限:读、写和执行。读权限允许用户查看文件或文件夹的内容,写权限允许用户更改文件或文件夹的内容,执行权限允许用户运行文件或文件夹中的程序。是一种控制用户和程序对文件和文件夹的访问的方法。它使用三个主要的概念:
7 0
|
1天前
|
Linux 数据安全/隐私保护 Windows
Linux的学习之路:4、权限
Linux的学习之路:4、权限
8 0
|
27天前
|
安全 Linux Shell
linux用户与权限管理
在Linux中,用户和权限管理确保系统安全。创建用户用`useradd`或`adduser`,删除用户加`-r`参数用`userdel`。修改用户属性用`usermod`,密码管理用`passwd`。组管理涉及`groupadd`(创建)、`groupdel`(删除)和`usermod`(添加用户至组)。权限用`chmod`调整,`chown`和`chgrp`改变所有权和组。`root`用户具有最高权限。这些工具支持安全的资源访问控制。
16 2
|
27天前
|
Ubuntu 关系型数据库 MySQL
linux创建用户创建组删除用户以及组分配权限
linux创建用户创建组删除用户以及组分配权限
10 0