网络安全系列之三十九 在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:实现高弹性的电商订单系统
基于消息队列以及函数计算,快速部署一个高弹性的商品订单系统,能够应对抢购场景下的高并发情况。
云安全基础课 - 访问控制概述
课程大纲 课程目标和内容介绍视频时长 访问控制概述视频时长 身份标识和认证技术视频时长 授权机制视频时长 访问控制的常见攻击视频时长
相关文章
|
7天前
|
安全 网络安全 数据安全/隐私保护
访问控制列表(ACL)是网络安全中的一种重要机制,用于定义和管理对网络资源的访问权限
访问控制列表(ACL)是网络安全中的一种重要机制,用于定义和管理对网络资源的访问权限。它通过设置一系列规则,控制谁可以访问特定资源、在什么条件下访问以及可以执行哪些操作。ACL 可以应用于路由器、防火墙等设备,分为标准、扩展、基于时间和基于用户等多种类型,广泛用于企业网络和互联网中,以增强安全性和精细管理。
41 7
|
18天前
|
域名解析 网络协议 安全
|
25天前
|
运维 监控 网络协议
|
8天前
|
网络协议 安全 网络性能优化
了解访问控制列表 (ACL):概念、类型与应用
了解访问控制列表 (ACL):概念、类型与应用
19 2
|
10天前
|
网络虚拟化 数据安全/隐私保护 数据中心
对比了思科和华为网络设备的基本配置、接口配置、VLAN配置、路由配置、访问控制列表配置及其他重要命令
本文对比了思科和华为网络设备的基本配置、接口配置、VLAN配置、路由配置、访问控制列表配置及其他重要命令,帮助网络工程师更好地理解和使用这两个品牌的产品。通过详细对比,展示了两者的相似之处和差异,强调了持续学习的重要性。
24 2
|
1月前
|
网络协议 网络虚拟化 数据安全/隐私保护
访问控制列表(ACL)配置
访问控制列表(ACL)配置
访问控制列表(ACL)配置
|
20天前
|
存储 Ubuntu Linux
2024全网最全面及最新且最为详细的网络安全技巧 (三) 之 linux提权各类技巧 上集
在本节实验中,我们学习了 Linux 系统登录认证的过程,文件的意义,并通过做实验的方式对 Linux 系统 passwd 文件提权方法有了深入的理解。祝你在接下来的技巧课程中学习愉快,学有所获~和文件是 Linux 系统登录认证的关键文件,如果系统运维人员对shadow或shadow文件的内容或权限配置有误,则可以被利用来进行系统提权。上一章中,我们已经学习了文件的提权方法, 在本章节中,我们将学习如何利用来完成系统提权。在本节实验中,我们学习了。
|
1月前
|
网络协议 安全 网络安全
Cisco-命名ACL访问控制列表
Cisco-命名ACL访问控制列表
|
1月前
|
安全 网络协议 数据安全/隐私保护
访问控制(ACL)原理详解
访问控制(ACL)原理详解
访问控制(ACL)原理详解
|
7天前
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【10月更文挑战第39天】在数字化时代,网络安全和信息安全成为了我们生活中不可或缺的一部分。本文将介绍网络安全漏洞、加密技术和安全意识等方面的内容,帮助读者更好地了解网络安全的重要性,并提供一些实用的技巧和方法来保护自己的信息安全。
20 2