Maison >développement back-end >Golang >Comment puis-je exécuter des commandes externes en tant qu'autre utilisateur dans Go ?
Lorsque vous travaillez dans un environnement *nix, il est souvent nécessaire d'exécuter des commandes externes au nom de un autre utilisateur. Traditionnellement, cela serait accompli à l'aide des commandes « su » ou « bash ». Cependant, il existe un moyen plus sûr et plus efficace de le faire en utilisant le package os/exec de Go.
La clé pour exécuter des commandes externes en tant qu'autre utilisateur est de définir les informations d'identification appropriées. Cela peut être fait à l'aide de la structure syscall.Credential.
cmd := exec.Command(command, args...) cmd.SysProcAttr = &syscall.SysProcAttr{} cmd.SysProcAttr.Credential = &syscall.Credential{Uid: uid, Gid: gid}
En définissant les champs Uid et Gid de la structure syscall.Credential sur les ID d'utilisateur et de groupe souhaités, la commande externe sera exécutée avec le privilèges.
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!