登录
首页 >  Golang >  Go问答

以超级用户权限创建文件

来源:stackoverflow

时间:2024-02-11 11:18:19 416浏览 收藏

本篇文章向大家介绍《以超级用户权限创建文件》,主要包括,具有一定的参考价值,需要的朋友可以参考一下。

问题内容

我希望使用 Go 的 os.Create(filename) 方法创建一个文件(相当于“mkdir filename”)。但是我没有该文件夹的写入权限。是否有“sudo mkdir filename”的 Go 方法?我在官方文档或其他地方找不到任何对此的引用。


正确答案


golang 可执行文件是从运行可执行文件的用户上下文中执行的。如果你执行 go run main.go ,它会以“you”的身份运行。如果你执行 sudo go run main.go 它将以 root 身份运行。

因此,只需像具有 sudo 一样编写您的应用程序即可。并确保运行 sudo go run main.go

写入文件的示例程序:https://goplay.tools/snippet/_n96gadgavd

package main

import (
    "fmt"
    "os"
)

func main() {
    // Choose your own perms here
    file, err := os.OpenFile("myfile.txt", os.O_CREATE|os.O_WRONLY, 0644)
    if err != nil {
        panic(err)
    }

    _, err = file.WriteString("Hello World!")
    if err != nil {
        panic(err)
    }
    file.Close()

    data, err := os.ReadFile("myfile.txt")
    if err != nil {
        panic(err)
    }

    fmt.Println(string(data))
}

本篇关于《以超级用户权限创建文件》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>