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.
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!