Sudo chmod 的权限被拒绝

Sudo chmod 的权限被拒绝

当我运行时ls -l,我想要更改权限的文件是:

-rw-r--r-- 1 82176 1491 193716029663 Feb 16  2019 cfdna_hc_bam.bam

第一次尝试:chmod 775 cfdna_hc_bam.bam。结果:chmod: changing permissions of 'cfdna_hc_bam.bam': Permission denied

第二次尝试:sudo chmod 775 cfdna_hc_bam.bam。它要求我输入密码,我输入了密码,结果:chmod: cannot access 'cfdna_hc_bam.bam': Permission denied

当我输入cd ..ls -l,查看我的文件所在目录的权限时,结果如下:drwxrwsr-x 1 93501 1491 8192 Sep 28 14:24 bam_files

我发现的唯一类似的问题是(Sudo chmod +x 导致“无法访问 [文件] 权限被拒绝”),这与已安装的图像问题有关,而我的情况并非如此。

编辑

  • 我在这个目录中创建了一个文件,并更改了它的权限,并且它起作用了:

    touch a
    chmod 755 a
    

    这有效。

  • 然后我使用“sudo”做了同样的事情,但没有成功:

    touch a
    sudo chmod 755 a I get: `chmod: cannot access 'a': Permission denied`.
    
  • 此外,当我运行命令时,id我得到:

    uid=1004(yonatan) gid=1005(yonatan) groups=1005(yonatan),27(sudo),132(docker)
    
  • sudo chown yonatan:yonatan -R <dir>尝试在文件所在的目录(以及上述目录)上运行,结果是: chown: cannot access 'bam_files': Permission denied

答案1

  1. 该目录是从远程计算机上的另一个用户接收的。
  2. 您不是该机器的所有者,因此我怀疑该目录是受 sudo 命令“保护的”。
  3. 尝试联系您从其接收目录的用户和远程机器的根目录,并要求他们运行以下命令:
    • chown -R yonatan:yonatan <filename>chown -R 1004:1005 <filename>(这是相同的命令)。
    • 如果 root 运行该命令,他可以直接在您收到的文件上运行该命令。
    • 如果用户向您发送了运行命令的目录,他需要在自己的“主文件”中的副本上运行该命令,然后使用您的 uid 和 gid 权限将其发送给您。
  4. 成为目录的所有者后,尝试chmod使用所需的权限再次运行该命令。
    • 举个例子chmod 775 <filename>
  5. 评论:
    • 在您自己的具体情况下,93501 是拥有该目录的用户,而 1491 是拥有该目录的组。
    • 解决方案的另一个选择是将您自己的用户添加到 1491(通过根),但如果其他组 1491 用户有权访问您的目录,他们仍然对该文件拥有权限。
    • 我建议将此计算器用作“权限计算器”http://permissions-calculator.org/
    • 如果以下答案无法解决问题,请在评论中告诉我,以便我们继续尝试解决问题

相关内容