修复 Linux 上的文件权限错误

admin11个月前笔记109

image.png如果你通过网络或“跑腿网络”(将文件保存到硬盘,以将其复制到一台计算机)在两个用户之间共享文件,那么在尝试读取或写入文件时可能会遇到权限错误。即使你了解它的概念,你也可能不知道该如何诊断或解决问题。我曾经将数据迁移作为一项服务执行,因此我遇到了相当多的权限错误和所有权冲突。这是我快速修复它们的方法。

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

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

 $ sudo chmod 744 foo


相关文章

MySQL 用 limit 为什么会影响性能?有什么优化方案?

MySQL 用 limit 为什么会影响性能?有什么优化方案?

Limit 是一种常用的分页查询语句,它可以指定返回记录行的偏移量和最大数目。例如,下面的语句表示从 test 表中查询 val 等于4的记录,并返回第300001到第300005条记录:这样的语句看...

zetcd解决如何让应用解除对ZooKeeper的依赖

zetcd解决如何让应用解除对ZooKeeper的依赖

分布式系统通常都依赖一个仲裁系统协同工作,一般这样的系统通过仲裁来保证信息的准确传达,以避免出现脑裂。这类系统通过牺牲通用性换来了充分的设计余地,这种做法显然已经被不断扩散的各种具体实现所例证。这样的...

在CSS中如何使用 when/else

在CSS中如何使用 when/else

在这篇文章完稿前,when[1] 的提议已经被 CSSWG 通过了,而 else[2] 是一个单独的提案,目前是一个4级规范让我们来看看 when/else 是如何使用的吧when/else 语法先来...

MySql高级/15.MySql高级之常用SQL技巧

MySql高级/15.MySql高级之常用SQL技巧

## MySql高级之常用SQL技巧☆1. SQL执行顺序编写顺序12345678910111213141516select distinct <select list>from <...

搭建私有CA服务器

搭建私有CA服务器

一、建立CA服务器1、生成密钥():表示此命令在子进程中运行,其目的是为了不改变当前Shell中的umask值;genrsa:生成私钥;-out:私钥的存放路径,cakey.pem:为密钥名,与配置文...

如何在 MariaDB 中配置主从复制

如何在 MariaDB 服务器上配置一个主从复制。复制是用于为我们的数据库创建多个副本,这些副本可以在其它数据库上用于运行查询,像一些非常繁重的查询可能会影响主数据库服务器的性能,或者我们可以使用它来...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。