Linux系统中设置文件权限的详细步骤和注意事项
在 Linux 操作系统中,每个文件都具备独特的“身份标识”,主要体现在文件类型与文件权限两大方面。文件类型大家通常比较熟悉,包含普通文件、目录文件、链接文件、设备文件以及管道文件共五种。而文件权限则决定了哪些用户能对文件执行何种操作——读取、写入、执行,甚至删除。由于 Linux 属于多用户操作系统,多个用户可以同时登录并执行任务,因此需要将文件与目录关联到具体的用户或用户组。为了实现更精细的权限控制,ACL(访问控制列表)应运而生。ACL 的核心功能是限制包括 root 在内的所有用户对文件、资源或套接字的访问。接下来,本文将详细介绍如何在 Linux 环境下配置 ACL,操作步骤清晰明了。
步骤1 检查系统核心
第一步需要确认你的 Linux 内核是否已内置 ACL 支持。并非所有内核版本都默认编译了该功能,最简单的验证方法是运行一条命令,检查输出中是否包含相关配置项:
[root@mail /]# cat /boot/config-kernel-version | grep -i ext3
CONFIG_EXT3_FS=m
CONFIG_EXT3_IDEX=y
CONFIG_EXT3_FS_XATTR_SHARING=y
CONFIG_EXT3_FS_XATTR_USER=y
CONFIG_EXT3_FS_XATTR_TRUSTED=y
CONFIG_EXT3_FS_ACL=y
如果看到类似上述输出,尤其是最后一行 CONFIG_EXT3_FS_ACL=y,则表明内核已编译了 ACL 支持,ext3 文件系统可以直接启用。若未找到该选项,则需要重新编译内核,或在配置选项中勾选 ACL 相关项。
步骤2 挂载分区并启用 ACL
完成内核检查后,下一步是在挂载分区时显式启用 ACL。例如:
# mount -t ext3 -o acl /dev/sda1 /fs1
当然,更便捷的方式是直接将配置写入 /etc/fstab 文件,这样每次开机都会自动挂载并启用 ACL 支持。
# vi /etc/fstab
在对应分区行中添加 acl 挂载选项即可。
步骤3 设置 ACL 权限
ACL 的核心优势在于能够针对个别用户设置权限,而非仅限整组。以下通过一个完整示例演示具体操作流程。
首先创建三个测试用户:test1、test2 和 test3,并使用 root 身份为它们设置密码:
[root@mail root]# adduser test1
[root@mail root]# adduser test2
[root@mail root]# adduser test3
[root@mail root]# passwd test1
[root@mail root]# passwd test2
[root@mail root]# passwd test3
接着挂载一个 ext3 分区到 /fs1:
[root@mail root]# mount -t ext3 -o acl /dev/sda1 /fs1
为了让所有用户都能在 /fs1 下创建文件,先为这个目录设置宽泛的权限:
[root@mail root]# chmod -R 777 /fs1
现在以 test1 用户登录,创建自己的文件,并收回其他用户的权限:
[test1@mail test1]# cd /fs1
[test1@mail fs1]# echo "Create by test1" > test1.txt
[test1@mail fs1]# chmod go-r test1.txt
[test1@mail fs1]# ll test1.txt
-rw------- 1 test1 test1 17 Jul 14 22:11 test1.txt
此时 test1.txt 仅允许 test1 自己读写,其他用户(包括 test2、test3)均无权限。切换至 test2 用户验证:
[test2@mail test2]# cd /fs1
[test2@mail fs1]# cat test1.txt
cat : test1.txt Permission denied
果然被拒绝访问。那么,若希望 test2 也能获得读写权限该如何实现?这正是 ACL 发挥作用的地方。回到 test1 用户,执行:
[test1@mail fs1]# setfacl -m u:test2:rw test1.txt
该命令为 test2 用户单独赋予了 rw 权限。再看文件属性:
[test1@mail fs1]# ll
-rw-rw-r--+ 1 test1 test1 10 Feb 16 13:52 test1.txt
注意末尾多了一个 + 号,这是 ACL 生效的标识。使用 getfacl 查看完整的 ACL 列表:
[test1@mail fs1]# getfacl test1.txt
# file: test1.txt
# owner: test1
# group: test1
user::rw-
user:test2:rw-
group::rw-
mask::rw-
other::r--
可以看到 user:test2:rw- 一行,test2 已被单独授权。现在再次以 test2 用户登录测试:
[test2@mail test2]# cd /fs1
[test2@mail fs1]# cat test1.txt
Create by test1
[test2@mail fs1]# echo "Modify by test2" >> test1.txt
[test2@mail fs1]# cat test1.txt
Create by test1
Modify by test2
此时 test2 不仅能读取,还能向文件中追加内容。而 test3 用户呢?
[test3@mail test3]# cd /fs1
[test3@mail fs1]# cat test1.txt
cat : test1.txt Permission denied
不出所料,除了 test1 和 test2,其他用户依然被拒绝访问(root 除外)。这正是 ACL 的灵活性所在:能够精确控制每个用户对单个文件的访问权限,而无需改变文件原有的属主或属组。
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
Ubuntu建立软链接的详细方法步骤
在Ubuntu系统中创建软链接(symbolic link)是一项基础但容易混淆的操作。本文将通过详细步骤,手把手教你如何在Ubuntu环境下建立软链接,确保你彻底掌握ln命令的使用方法。 首先,准备一个文本文件作为源文件。例如,创建一个名为1 txt的文件,稍后我们将为其创建软链接。 为了演示软链
Ubuntu 17.10添加日历事项与行程提醒教程
Ubuntu 17 10 内置的日程管理功能非常实用,尽管默认隐藏在系统深处,但熟练使用后能为日常工作节省不少时间。下面逐步拆解操作流程,教你如何添加事项、设置提醒,并处理提醒弹出的情况。 一、在日历程序中添加提醒事项 1 进入 Ubuntu 17 10 桌面后,顶部面板正中间的区域即为日历控件。
Ubuntu 17.10最新版动态工作区开启与使用步骤完整指南
使用 Ubuntu 17 10 的用户会发现,系统默认采用动态工作区机制——开机时仅提供两个工作区,随着你陆续打开应用程序,工作区数量会自动扩容。这一设计看似智能,但若不熟悉其运作逻辑,操作时容易感到混乱。下面我们将详细拆解动态工作区的使用与管理方法,助你轻松上手。 一、工作区的动态增减 1 系统
Fedora Linux启动时网卡eth0激活慢的解决方法
许多Fedora老用户都曾遇到开机时eth0网络接口激活过程异常缓慢的困扰。解决这个问题其实并不复杂:如果你希望开机时跳过自动激活,进入系统后再手动启动网络,那么以下两种简单方法就能帮你轻松实现。 首先介绍命令行方式:执行 usr sbin setup 命令,在弹出的界面中选择“System S
Fedora主菜单快捷键设置方法
在使用 Fedora 系统时,若能通过快捷键一键呼出主菜单,将显著提升操作效率。那么,如何为 Fedora 设置主菜单快捷键呢?只需跟随以下步骤,几分钟即可完成配置。 首先,同时按下键盘上的 Alt+F2 组合键,在弹出的运行对话框中输入 gnome-terminal,然后按回车键打开终端。 终端窗
- 日榜
- 周榜
- 月榜
1
2
3
4
5
6
7
8
9
10
1
2
3
4
5
6
7
8
9
10
1
2
3
4
5
6
7
8
9
10
相关攻略
2026-06-22 12:37
2026-06-22 12:37
2026-06-22 12:37
2026-06-22 12:37
2026-06-22 12:37
2026-06-22 12:37
2026-06-22 12:36
2026-06-22 12:36
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程
热门话题

