首页 » SEO优化 » phpacl权限治理技巧_除了传统rwx权限你知道Linux还有acl访问控制权限吗具体教程

phpacl权限治理技巧_除了传统rwx权限你知道Linux还有acl访问控制权限吗具体教程

duote123 2024-11-23 0

扫一扫用手机浏览

文章目录 [+]

如需学习视频,请在微信搜索"大众年夜众号“智传网优”直接开始自助视频学习

1. 序言

phpacl权限治理技巧_除了传统rwx权限你知道Linux还有acl访问控制权限吗具体教程

本文紧张讲解Linux acl访问掌握权限的事理以及日常利用方法。
是Linux系统管理中的一个主要安全工具及策略设置,运维职员必须节制好。

phpacl权限治理技巧_除了传统rwx权限你知道Linux还有acl访问控制权限吗具体教程
(图片来自网络侵删)

2. Linux acl权限掌握的事理

我们知道 Linux 的权限掌握是非常主要的,传统的权限仅有三种身份 (owner, group, others) ,即文件或者目录拥有者权限、拥有者同组成员的权限、其它用户的权限,搭配三种权限 (r,w,x),即可读、可写、可实行而已,这些权限可以通过 chmod、 chown 等命令来修正。
然而并没有办法纯挚的针对某一个利用者或某一个群组来设置特定的权限需求。
此时就得要利用 ACL 这个工具了。

比如有个名为zcwyou的用户,他想要修正 nginx.conf 这个配置文件,然而这个文件是归root 用户所有,这样若何为单个用户做特定授权呢? 为理解决这种情形,访问掌握列表Access Control List(ACL)出身了。

ACL 是 Access Control List 的缩写,紧张的目的是在供应传统的 owner,group,others 的 read,write,execute 权限之外的细部权限设置。
ACL 可以针对单一利用者,单一文件或目录来进行 r,w,x 的权限规范,对付须要分外权限的利用状况非常有帮助。
它为文件系统供应了附加的、更具有弹性的权限机制。
它被设计来为补充 UNIX 文件权限机制。
ACL 许可你授予任何某用户/组访问某项资源的权限。
setfacl 与 getfacl 命令会帮助你管理 ACL 而不会有任何麻烦。

那ACL工具紧张支持以下工具设置安全权限:

利用者 (user):可以针对利用者来设置权限;

群组 (group):针对群组为工具来设置其权限;

默认属性 (mask):还可以针对在该目录下在创建新文件/目录时,规范新数据的默认权限;

也便是说,如果你有一个目录,须要给一堆人利用,每个人或每个群组所须要的权限并不相同时,在过去,传统的 Linux 三种身份的三种权限是无法达到的, 由于基本上,传统的 Linux 权限只能针对一个用户、一个群组及非此群组的其他人设置权限而已,无法针对单一用户或个人来设计权限。
而 ACL 便是为了要改变这个问题啊!
好了,轻微理解之后,再来看看如何让你的文件系统可以支持 ACL 吧!

3. Linux acl权限掌握的工具集

查看Linux acl权限工具是否有安装,一样平常情形下,系统都是默认安装的。

[root@zcwyou ~]# rpm -qa |grep acl

查看linux acl工具包

如果没有安装,利用以下命令安装它:

[root@zcwyou ~]# yum -y install aclsetfacl用于设置文件和目录的 ACL。
getfacl - 获取文件的 ACL 。
对付每个文件, getfacl 都会显示文件名、文件所有者、所属组以及ACL。
如果目录有默认 ACL, getfacl 也会显示这个默认的 ACL。

4. Linux acl权限掌握工具的利用

运行 tune2fs 命令来检讨是否启用了 ACL。

[root@zcwyou ~]# tune2fs -l /dev/sdb1 | grep options

显示如下

Default mount options: (none)

上面的输出很明显第解释 /dev/sdb1 分区没有启用 ACL。

如果结果中没有列出 acl,则你须要在挂载选项中加上 acl。
为了让它永久生效, 修正 /etc/fstab 中 /app 这一行成这样:

[root@zcwyou ~]# vi /etc/fstab

开机默认为分区开启linux acl

修正为以下这行,

/dev/sdb1 /app ext4 defaults,acl 1 1

当然,你也可以利用下面命令将其添加道文件系统的超级块中:

[root@zcwyou ~]# tune2fs -o +acl /dev/sdb1

然后,通过运行以下命令来动态修正选项:

[root@zcwyou ~]# mount -o remount,acl /app

再次运行tune2fs看看是否开启了acl

[root@zcwyou ~]# tune2fs -l /dev/sdb1 | grep options

输出。

Default mount options: acl

CentOS 7默认已经启用acl,可以直策应用。

5. 如何查看默认acl的设置

[root@zcwyou ~]# getfacl /etc/passwd

getfacl: Removing leading '/' from absolute path names

file: etc/passwdowner: rootgroup: root

user::rw-

group::r--

other::r--

查看默认acl的设置

6. 如何为文件设置acl属性

以下面格式运行 setfacl 命令可以为指定文件设置 ACL。
不才面的例子中,我们会给 zcwyou用户对 /etc/samba/smb.conf文件 rwx 的权限。

[root@zcwyou ~]# setfacl -m u:zcwyou:rwx /etc/samba/smb.conf

为文件设置acl属性

setfacl命令部分参数

-m: 修正文件确当前 ACL

u: 指明用户

magi: 用户名

rwx: 要设置的权限

/etc/samba/smb.conf: 指定的文件或者目录

通过ls命令也可以查看这个文件的分外权限,把稳一下图中的+号。

查看文件acl属性

7. 如何为目录设置acl属性

以下面格式运行 setfacl 命令可以递归地为指定目录设置 ACL。
不才面的例子中,我们会将 /etc/samba/ 目录中的 rwx 权限授予zcwyou用户。

首先先查看当前情形,如下图

为目录设置acl属性

可以看到上图中,只有smb.conf一个文件有+号。

实行以下命令:

[root@zcwyou ~]# setfacl -Rm u:zcwyou:rwx /etc/samba/

-R: 表示把设置递归到子目录中

再次检讨:

检讨目录acl属性

可以看出,所有文件都被设置了acl权限。

利用getacl查看目录

[root@zcwyou ~]# getfacl /etc/samba/

getfacl: Removing leading '/' from absolute path names

file: etc/samba/owner: rootgroup: root

user::rwx

user:zcwyou:rwx

group::r-x

mask::rwx

other::r-x

利用getacl命令检讨目录acl属性

8. 为组用户设置acl

以下面格式为指定文件运行 setfacl 命令。
不才面的例子中,我们会给 zcwyou组授予 /etc/samba/smb.conf 文件的 rwx 权限。

[root@zcwyou ~]# setfacl -m g:zcwyou:rwx /etc/samba/smb.conf

为组用户设置acl属性

g: 表示为一个组设置acl属性

如果对多个用户和组授权,只须要用 逗号 区分开,就像下面这样。

[root@zcwyou ~]# setfacl -m u:user1:rwx,g:group2:rwx /etc/samba/smb.conf

9. 删除acl

以下面格式运行 setfacl 命令会删除文件对指定用户的 ACL。
这只会删除用户权限而保留 mask 的值为只读。

[root@zcwyou ~]# setfacl -x u:magi /etc/samba/smb.conf

选项-x: 表示从文件的 ACL 中删除acl属性

利用 选项-b 来删除文件中所有的 ACL,例如:

[root@zcwyou ~]# setfacl -b /etc/samba/smb.conf

选项-b: 表示删除所有的 ACL 条款所有的属性

再次查看删掉后的 ACl 值就会创造所有的东西都不见了,包括 mask 的值也不见了。

10. acl最大权限mask

10.1 最大有效权限mask

mask是用来指定最大有效权限的(利用命令getfacl 文件名显示的结果中倒数第二排会涌现mask这个词)。
如果给用户授予了acl权限,是须要和mask的权限“相与”才能得到用户的真正权限。
相与是打算机中的术语,皆真方为真,有假便为假。
例如mask权限为rwx,某用户的acl权限为r-x,则实际有效权限为r-x。

最大权限也会影响到组权限(例:某文件所有者为tony,chmod授予的普通权限为7,而acl授予tony的权限为5,则acl权限会高于chmod权限)

修正最大有效权限mask

修正mask的命令

setfacl -m m:权限 文件

11. 对acl的属性进行备份和规复

运行以下命令备份和还原 ACL 的值。
要制作备份, 须要进入对应的目录然后这样做(假设我们要备份 sites-available 目录中的 ACL 值)。

[root@zcwyou ~]# cd /etc/apache2/sites-available/[root@zcwyou ~]# getfacl -R > acl_backup_for_folder

运行下面命令进行还原acl属性设置

[root@zcwyou ~]# setfacl --restore=/etc/apache2/sites-available/acl_backup_for_folder

12. 总结

Linux的ACL机制是对传统的用户、组、其他用户权限安全机制的补充,结合传统的权限机制,将极为灵巧地根据特定用户为Linux系统的文件或者目录设置特定权限。
它是Linux系统工程师必须节制的系统工具。

本文已同步至博客站,尊重原创,转载时请在正文中附带以下链接:

https://www.linuxrumen.com/rmxx/649.html

点击理解更多,快速查看更多的技能文章列表。

标签:

相关文章

复制文本框代码开启智能时代的大门

人工智能技术逐渐渗透到人们生活的方方面面。如今,在众多的AI应用中,复制文本框代码成为了热门话题。本文将从复制文本框代码的原理、应...

SEO优化 2025-02-18 阅读0 评论0

域代码在Word2003中的应用与优化

文字处理软件在办公、学习、生活中扮演着越来越重要的角色。Word作为微软公司推出的办公软件之一,具有强大的功能,深受广大用户喜爱。...

SEO优化 2025-02-18 阅读0 评论0

旋转编码器智能时代的精密导航仪

传感器技术在各个领域得到了广泛应用。旋转编码器作为一种重要的传感器,因其高精度、高可靠性等特点,成为工业自动化、机器人、航空航天等...

SEO优化 2025-02-18 阅读0 评论0

无主之地职业Mod游戏世界的无限可能

在游戏世界中,Mod(Modifications,即修改)作为玩家对游戏内容进行个性化创作的工具,已经成为了游戏文化的重要组成部分...

SEO优化 2025-02-18 阅读0 评论0