Maison >développement back-end >Golang >Créer des fichiers en utilisant sudo

Créer des fichiers en utilisant sudo

王林
王林avant
2024-02-06 09:21:101358parcourir

使用 sudo 创建文件

Contenu de la question

Je souhaite créer un fichier (équivalent à "mkdir filename") en utilisant la méthode os.Create(filename) de Go. Mais je n'ai pas l'autorisation d'écrire sur le dossier. Existe-t-il une méthode Go pour « nom de fichier sudo mkdir » ? Je ne trouve aucune référence à cela dans la documentation officielle ou ailleurs.


Bonne réponse


L'exécutable golang est exécuté à partir du contexte de l'utilisateur qui exécute l'exécutable. Si vous exécutez go run main.go ,它会以“you”的身份运行。如果你执行 sudo go run main.go, il s'exécutera en tant que root.

Alors rédigez simplement votre candidature comme si vous aviez sudo. Et assurez-vous qu'il fonctionne sudo go run main.go.

Exemple de programme pour écrire des fichiers : 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))
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer