如何使用Go在Windows上获取文件所有者?

时间:2018-07-13 09:27:56

标签: windows file go

我正在尝试使用Go在Windows上获取文件所有者,而在忙碌了src个小时后却找不到任何帮助,真是太痛苦了。

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

这是否意味着还不可能?

我可能会想念任何帮助。

1 个答案:

答案 0 :(得分:2)

文件和安全系统特定于操作系统。 Go在Linux,Darwin和其他类似Unix的操作系统上建模。 Go Windows端口可模拟大多数内容,但是,正如您所发现的,并非所有内容(某些只是存根)。如果所需的功能不在Go标准库中,请查找独立编写的开源Go软件包。最后的方法是编写自己的Microsoft Windows API接口。