【问题标题】:How can I get the file owner on Windows with Go?如何使用 Go 在 Windows 上获取文件所有者?
【发布时间】:2018-07-13 09:27:55
【问题描述】:

我正在尝试使用 Go 在 Windows 上获取文件所有者,并且在 go 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 }

这是否意味着它还不可能?

我可能错过了任何帮助将不胜感激的东西。

【问题讨论】:

标签: windows file go


【解决方案1】:

文件和安全系统是特定于操作系统的。 Go 以 Linux、Darwin 和其他类 Unix 操作系统为模型。 Go Windows 端口模拟了大多数东西,但是,正如您所发现的,并不是所有的东西(有些只是存根)。如果您需要的功能不在 Go 标准库中,请寻找独立编写的开源 Go 包。最后的手段是编写自己的 Microsoft Windows API 接口。

【讨论】:

  • 我在发布我的问题后发现了它。顺便说一句,我在 github 上找到了这个库,这可能会有所帮助。 github.com/hectane/go-acl
猜你喜欢
  • 1970-01-01
  • 2017-05-07
  • 2016-03-19
  • 2015-10-22
  • 1970-01-01
  • 2021-05-20
  • 1970-01-01
  • 2010-10-29
  • 1970-01-01
相关资源
最近更新 更多