Hvordan kan jeg få filindehaveren på Windows med Go?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg forsøger at få filen ejer på Windows med Go og det er sådan en smerte at finde nogen hjælp på det efter timer på vej src Jeg fandt dette:


// TODO(brainman): fix all needed for os
func Fchdir(fd Handle) (err error)             { return EWINDOWS }
func Link(oldpath, newpath string) (err error) { return EWINDOWS }
func Symlink(path, link string) (err error)    { return EWINDOWS }

func Fchmod(fd Handle, mode uint32) (err error)        { return EWINDOWS }
func Chown(path string, uid int, gid int) (err error)  { return EWINDOWS }
func Lchown(path string, uid int, gid int) (err error) { return EWINDOWS }
func Fchown(fd Handle, uid int, gid int) (err error)   { return EWINDOWS }

func Getuid() (uid int)                  { return -1 }
func Geteuid() (euid int)                { return -1 }
func Getgid() (gid int)                  { return -1 }
func Getegid() (egid int)                { return -1 }
func Getgroups() (gids []int, err error) { return nil, EWINDOWS }


Betyr det det endnu ikke muligt?


Jeg savner sikkert noget, som nogen hjælp ville blive værdsat.

Bedste reference


Fil- og sikkerhedssystemer er operativsystemspecifikke. Go er modelleret på Linux, Darwin og andre Unix-lignende operativsystemer. Go Windows-porten emulerer de fleste ting, men som du har opdaget, ikke alt (nogle er bare stubber). Hvis de funktioner, du har brug for, ikke findes i Go-standardbiblioteket, skal du kigge efter uafhængigt skrevet Go-pakker med open source. Den sidste udvej er at skrive din egen grænseflade til Microsoft Windows API.