在 Linux 上修复文件权限错误

不要让文件权限拖慢您的速度。以下是如何在 Linux 和 macOS 上管理它们。
3 位读者喜欢这篇文章。
open source button on keyboard

Opensource.com

如果您在网络上的两个用户之间或通过“运动鞋网络”(将文件保存到硬盘驱动器并将其复制到计算机)共享文件,则在尝试读取或写入文件时可能会遇到权限错误。即使您理解文件权限的概念,您也可能不知道如何准确诊断问题或解决问题。我曾经提供数据迁移服务,因此我遇到了很多权限错误和所有权冲突。以下是我快速修复它们的方法。

1. 确定正确的用户

在修复权限错误之前,您必须确定谁需要权限。您可能认为您已经知道了,但您可能没有意识到的是,用户并不是用户身份最明确的属性。您的计算机与其说将您视为一个人,不如说将您视为一个数字。要了解您的数字,请查看您的用户 ID

$ id --user
1005

2. 获取当前所有者

接下来,确定您无法与之交互的文件的所有者。由于存在文件权限问题,您可能需要使用 sudo 命令来查看有关文件的信息

$ sudo ls --numeric-uid-gid
-rw------- 1 1000 100  23041 Aug  2 05:26 bar
-rw------- 1 1000 100  54281 Aug  2 04:58 baz
-rw------- 1 1000 100    822 Aug  2 08:19 foo

在此示例中,拥有文件的用户被标识为用户 ID 1000,这就是用户 ID 1005 无法与它们交互的原因。更糟糕的是,这些文件被标记为仅可由拥有它们的用户读取和写入,因此即使是同一组的成员也无法与这些文件交互。

3. 更改权限以匹配

您知道需要权限的用户,因此您可以更改当前所有者以匹配您当前的用户

$ sudo chown 1005 foo

您还可以通过更改文件模式来授予您的组成员以及系统上可能存在的其他用户访问文件的权限。例如,要保持读取和写入权限 (7),同时授予组和任何其他用户读取权限 (4)

$ sudo chmod 744 foo

了解更多

当您不熟悉文件权限时,它们似乎很棘手。有关文件所有权如何工作的更多信息,请阅读chown 命令简介。有关文件权限如何工作的更多信息,请阅读chmod 命令简介

标签
Seth Kenlon
Seth Kenlon 是一位 UNIX 极客、自由文化倡导者、独立多媒体艺术家和 D&D 爱好者。他曾在电影和计算行业工作,经常同时从事这两个行业。

1 条评论

嗯,谢谢。我正需要这个。 ;-)

Creative Commons 许可协议本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 许可。
© 2025 open-source.net.cn. All rights reserved.