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