如何在Linux上备份和恢复文件权限如何在Linux上备份和恢复文件权限如何在Linux上备份和恢复文件权限如何在Linux上备份和恢复文件权限
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在Linux上备份和恢复文件权限

问题:我想备份本地文件系统的文件权限,这样如果我不小心弄乱了文件权限,我可以将它们恢复到原始状态。有没有一种简单的方法可以在 Linux 上备份和恢复文件权限?

您可能听说过一个新手系统管理员犯下的悲剧性错误,他不小心输入了“chmod -R 777 /”,并对他/她的 Linux 系统造成了严重破坏。当然,有一些备份工具(例如,cp、rsync、etckeeper)可以备份文件及其文件权限。如果您使用此类备份工具,则无需担心文件权限损坏。

但在某些情况下,您希望单独临时备份文件权限(而不是文件本身)。例如,您想防止某个目录的内容被覆盖,因此您暂时删除了该目录下所有文件的写权限。或者您正在解决文件权限问题,因此对各处的文件运行 chmod。在这些情况下,最好能够在更改之前备份原始文件权限,以便以后需要时恢复原始文件权限。在许多情况下,当您真正想要的只是备份文件权限时,完整文件备份就显得有些过分了。

在 Linux 上,使用访问控制列表 (ACL) 备份和恢复文件权限实际上非常简单。 ACL 定义了 POSIX 兼容文件系统上不同所有者和组对各个文件的访问权限。

以下是如何使用 ACL 工具在 Linux 上备份和恢复文件权限。

在 Linux 上安装 ACL 工具

首先,确保您安装了 ACL 工具。

对于 Debian、Ubuntu 或 Linux Mint:


$ sudo apt-get install acl

对于 CentOS、Fedora 或 RHEL:


$ sudo yum install acl

使用 ACL 工具备份和恢复文件权限

要备份当前目录(及其所有子目录)中所有文件的文件权限,请运行以下命令。


$ getfacl -R . > permissions.txt

该命令会将所有文件的 ACL 信息导出到名为 permissions.txt 的文本文件中。

例如,以下是从屏幕截图中显示的目录生成的 permissions.txt 片段。


# file: .
# owner: dan
# group: dan
user::rwx
group::rwx
other::r-x

# file: tcpping
# owner: dan
# group: dan
# flags: s--
user::rwx
group::rwx
other::r-x

# file: uda20-build17_1.ova
# owner: dan
# group: dan
user::rw-
group::rw-
other::r--

现在继续根据需要更改文件权限。例如:


$ chmod -R a-w .

要恢复原始文件权限,请转到生成 permissions.txt 的目录,然后运行:


$ setfacl --restore=permissions.txt

验证原始文件权限是否已恢复。

©2015-2025 艾丽卡 support@alaica.com