Heim >Backend-Entwicklung >Golang >Erstellen Sie Dateien mit sudo

Erstellen Sie Dateien mit sudo

王林
王林nach vorne
2024-02-06 09:21:101358Durchsuche

使用 sudo 创建文件

Frageninhalt

Ich möchte eine Datei (entspricht „mkdir-Dateiname“) mit der os.Create(Dateiname)-Methode von Go erstellen. Ich habe jedoch keine Schreibberechtigung für den Ordner. Gibt es eine Go-Methode für „sudo mkdir filename“? Ich kann weder in der offiziellen Dokumentation noch anderswo einen Hinweis darauf finden.


Richtige Antwort


Die ausführbare Golang-Datei wird aus dem Kontext des Benutzers ausgeführt, der die ausführbare Datei ausführt. Wenn Sie go run main.go ,它会以“you”的身份运行。如果你执行 sudo go run main.go ausführen, wird es als Root ausgeführt.

Also schreiben Sie Ihre Bewerbung einfach so, als hätten Sie Sudo. Und stellen Sie sicher, dass es läuft sudo go run main.go.

Beispielprogramm zum Schreiben von Dateien: https://www.php.cn/link/69ddb50142a89123ba6f870ab07e6fbb

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))
}

Das obige ist der detaillierte Inhalt vonErstellen Sie Dateien mit sudo. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen