【问题标题】:Tarring a file with root access使用 root 访问权限对文件进行 tar 处理
【发布时间】:2019-03-01 16:01:15
【问题描述】:

所以,我在一组目录中有一个目录,其中包含一些由 root 拥有的文件和目录。

当前我正在使用以下命令:

tar.add(f)
f = folder_name

如果假设文件夹 b 有具有 root 权限的文件/文件,我该如何 tar 呢?

目前,我得到 IOError:

IOError: [Errno 13] Permission denied: ‘file_name'

【问题讨论】:

  • 如果您无法以当前用户的权限读取文件,您必须以其他用户身份运行脚本或更改文件/文件夹的访问权限。

标签: python file-permissions tar


【解决方案1】:

以 root 身份运行您的脚本。

在你的脚本之前输入sudo

【讨论】:

  • 这是一个答案,如果是一个简单的答案。如果它不是一个有效的答案,你不应该发布它来绕过评论的声誉阈值,但在这种情况下,这很好,它可以使用更多细节(并删除关于 cmets 的注释)。
  • ShadowRanger 说这是一个有效的答案,您的答案解释了问题的原因并试图指出可能的解决方案,cmets on changes 用于改进问题的格式或要求更多信息。
  • “以 root 身份运行”是我会避免的建议,直到用尽所有其他可能性。另外,我们不知道sudo在目标平台上是否可用,他的用户是否有sudo权限,或者提问者是否有安装/配置sudo的权限。
【解决方案2】:

无论创建/复制这些文件都是使用 root 权限。这几乎肯定是个坏主意,因此理想情况下,更改该过程以使用与您正在处理的代码相同的凭据。

如果这不可行/不可行,则使用 root 凭据的进程应该能够在下载时更改这些文件的所有权或权限,以便您的凭据允许您使用它们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多