【问题标题】:How can I create a file read/write permissions in /mnt/?如何在 /mnt/ 中创建文件读/写权限?
【发布时间】:2017-11-28 07:17:23
【问题描述】:

我尝试了os.Create(),但它给出的权限被拒绝。这是预期的结果,但我怎样才能摆脱它?

【问题讨论】:

  • 以root权限运行你的脚本。
  • 你想创造什么?您可能需要更改目录的权限或以不同的用户身份运行。作为最后的手段,您可能需要以 root 身份运行它(但如果可能,通常应避免这样做)。

标签: linux file go operating-system copy


【解决方案1】:

要创建一个新文件,请使用 ioutil 包

https://golang.org/src/io/ioutil/ioutil.go?s=2518:2586#L66

要更改现有文件的权限,请使用 os 包 这可以帮助您获得文件权限, 确保以适当的权限执行二进制文件,否则会出错。

if err := os.Chmod("some-filename", 0644); err != nil {
        log.Fatal(err)
    }

【讨论】:

    【解决方案2】:

    首先检查您是否有阻止在 /mnt 中创建任何文件(无论是否为根)的安全设置。

    见“Can't create/write to file '/mnt/temp/something' (Errcode: 13)

    它涉及在/etc/apparmor.d 中添加配置文件,以便允许创建任何文件。
    见“Ubuntu AppArmor”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-17
      • 2012-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-22
      • 1970-01-01
      • 2014-03-02
      相关资源
      最近更新 更多