网络安全系列之三十九 在Linux中配置访问控制列表ACL

本文涉及的产品
访问控制,不限时长
简介:

Linux系统中传统的权限设置方法比较简单,仅有3种身份、3种权限而已,通过配合chmod和chown等命令来对文件的权限或所有者进行设置。如果要进行比较复杂的权限设定,例如某个目录要开放给某个特定的使用者使用时,这些传统的方法就无法满足要求了。

例如对于/home/project目录,该目录的所有者是student用户,所属组是users组,预设权限是770。现在有个名为natasha的用户,属于natasha组,希望能够对/home/project目录具有读写执行权限;还有一个名为instructor的用户,属于instructor组,希望能够对/home/project目录具有读取和执行权限。

很明显,利用chmod或chown命令是无法完成这个要求的。因而,Linux系统提供了ACL(Access Control List)专门来完成这种细部权限设置。

1. 设置ACL

设置ACL使用的是setfacl命令,该命令格式如下:

setfacl [选项设定值 文件名

常用选项:

  • -m,设定一个ACL规则。

  • -x,取消一个ACL规则。

  • -b,取消所有的ACL规则。

例:设置natasha对/home/project目录具有rwx权限。

[root@localhost ~]# setfacl -m u:natasha:rwx /home/project/

[root@localhost ~]# ll -d /home/project/

drwxrwxrwx+ 2 student users 4096 12月 2 16:43 /home/project/

设置完ACL后,查看文件详细信息时在权限部分会多出一个“+”的标识,代表文件启用了ACL权限。

下面再设置instructor用户对/home/project目录具有r-x权限。

[root@localhost ~]# setfacl -m u:instructor:r-x /home/project/

2. 管理ACL

通过getfacl命令可以来查看ACL权限。

[root@localhost ~]# getfacl /home/project/

getfacl: Removing leading '/' from absolute path names

# file: home/project/

# owner: student

# group: users

user::rwx

user:instructor:r-x

user:natasha:rwx

group::rwx

mask::rwx

other::rwx

通过“setfacl –m”命令可以来修改ACL。

例:将instructor用户的权限修改为rwx。

[root@localhost ~]# setfacl -m u:instructor:rwx /home/project/

通过“setfacl -x”命令可以从ACL中去除某个用户。

例:将instructor用户从ACL中去除。

[root@localhost ~]# setfacl -x u:instructor /home/project/

3. 启动ACL支持

ACL可以针对用户设置,也可以针对用户组设置。要使用ACL必须要有文件系统的支持,Linux中标准的EXT2/EXT3/EXT4文件系统都支持ACL功能。但是要注意,RHEL6中默认的文件系统支持ACL,如果是新挂载的分区,则不支持ACL应用,可以在挂载文件系统时使用“-o acl”选项启动ACL支持。

例:将/dev/sdb1分区挂载到/home目录,并启动ACL支持。文件系统挂载之后,通过mount命令确认ACL已启动。

[root@localhost ~]# mount -o acl /dev/sdb1 /home

[root@localhost ~]# mount | grep home

/dev/sdb1 on /home type ext4 (rw,acl)

如果想要在系统启动时自动应用ACL功能,则需要修改/etc/fstab文件,添加以下行:

[root@localhost ~]# vim /etc/fstab

/dev/sdb1 /home ext4 defaults,acl 0 0

4. 配置ACL时应注意的问题

ACL用于提供额外权限,主要用来对权限进行微调。在系统中设置权限时,主要还是应该依靠chmod、chown这些传统的方法,而不能以ACL为主,否则维护起来会比较吃力。

因而当在生产环境中设置权限时,建议先用chmod、chown设置总体权限,然后根据需要再用ACL设置细部权限。


本文转自 yttitan 51CTO博客,原文链接:http://blog.51cto.com/yttitan/1577458

相关实践学习
消息队列+Serverless+Tablestore:实现高弹性的电商订单系统
基于消息队列以及函数计算,快速部署一个高弹性的商品订单系统,能够应对抢购场景下的高并发情况。
云安全基础课 - 访问控制概述
课程大纲 课程目标和内容介绍视频时长 访问控制概述视频时长 身份标识和认证技术视频时长 授权机制视频时长 访问控制的常见攻击视频时长
相关文章
ly~
|
11天前
|
消息中间件 搜索推荐 大数据
一般情况下在 RocketMQ 中添加 access key 的步骤: 一、确定配置文件位置 RocketMQ 的配置文件通常位于安装目录下的 conf 文件夹中。你需要找到 broker.conf 或相关的配置文件。 二、编辑配置文件 打开配置文件,查找与 ACL(访问控制列表)相关的配置部分。 在配置文件中添加以下内容:
大数据广泛应用于商业、金融、医疗和政府等多个领域。在商业上,它支持精准营销、客户细分及流失预测,并优化供应链管理;金融领域则利用大数据进行风险评估、市场预测及欺诈检测;医疗行业通过大数据预测疾病、提供个性化治疗;政府运用大数据进行城市规划和公共安全管理;工业领域则借助大数据进行设备维护、故障预测及质量控制。
ly~
15 2
|
1月前
|
Apache 数据安全/隐私保护
HAProxy的高级配置选项-ACL篇之基于源地址访问控制案例
这篇文章介绍了HAProxy的ACL(访问控制列表)功能,特别是如何基于源地址进行访问控制的高级配置选项,并通过实战案例展示了如何配置ACL规则以允许或阻止特定IP地址或IP范围的访问。
48 7
HAProxy的高级配置选项-ACL篇之基于源地址访问控制案例
|
1月前
|
Apache 数据安全/隐私保护
HAProxy的高级配置选项-ACL篇之基于策略的访问控制
这篇文章介绍了HAProxy的高级配置选项,特别是如何使用ACL(访问控制列表)进行基于策略的访问控制,通过实战案例展示了如何配置HAProxy以允许或拒绝来自特定源地址的访问。
45 6
HAProxy的高级配置选项-ACL篇之基于策略的访问控制
|
19小时前
|
监控 Linux 测试技术
Linux系统命令与网络,磁盘和日志监控总结
Linux系统命令与网络,磁盘和日志监控总结
9 0
|
19小时前
|
监控 Linux 测试技术
Linux系统命令与网络,磁盘和日志监控三
Linux系统命令与网络,磁盘和日志监控三
6 0
|
2月前
|
存储 Linux Shell
在Linux中,如何使用脚本,实现判断 192.168.1.0/24 网络里,当前在线的 IP 有哪些?能ping 通则 认为在线。
在Linux中,如何使用脚本,实现判断 192.168.1.0/24 网络里,当前在线的 IP 有哪些?能ping 通则 认为在线。
|
2月前
|
监控 网络协议 Linux
在Linux中,如何实时抓取并显示当前系统中tcp 80 端口的网络数据信息?
在Linux中,如何实时抓取并显示当前系统中tcp 80 端口的网络数据信息?
|
2月前
|
运维 监控 网络协议
在Linux中,如何进行网络故障排查?
在Linux中,如何进行网络故障排查?
|
2月前
|
存储 Ubuntu Linux
揭开自制NAS的神秘面纱:一步步教你如何用Linux打造专属网络存储王国!
【8月更文挑战第22天】构建Linux NAS系统是技术爱好者的热门项目。通过选择合适的发行版如Alpine Linux或Ubuntu Server,并利用现有硬件,你可以创建一个高效、可定制的存储解决方案。安装Linux后,配置网络设置确保可达性,接着安装Samba或NFS实现文件共享。设置SSH服务方便远程管理,利用`rsync`与`cron`进行定期备份。还可添加Web界面如Nextcloud提升用户体验。这一过程不仅节约成本,还赋予用户高度的灵活性和控制权。随着技术发展,Linux NAS方案持续进化,为用户带来更丰富的功能和可能性。
50 1
|
2月前
|
网络安全 数据安全/隐私保护 网络架构