dragon321723
2018-07-13 09:27
浏览 331
已采纳

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

I'm trying to get file owner on Windows with Go and it's such a pain to find any help on it after hours on go src I found this:

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

Does it mean its not yet possible ?

I probably miss something any help would be appreciated.

图片转代码服务由CSDN问答提供 功能建议

我正在尝试通过Go获取Windows上的文件所有者,在此之后寻找任何帮助都非常痛苦 我花了几个小时去找到 src

  // TODO(brainman):修复了os 
func Fchdir(fd Handle)(err 错误){返回EWINDOWS} 
func链接(旧路径,新路径字符串)(错误){返回EWINDOWS} 
func符号链接(路径,链接字符串)(错误错误){返回EWINDOWS} 
 
func Fchmod(fd句柄,模式 uint32)(错误错误){返回EWINDOWS} 
func Chown(路径字符串,uid int,gid int)(错误错误){return EWINDOWS} 
func Lchown(路径字符串,uid int,gid int)(错误错误){返回 EWINDOWS} 
func Fchown(fd Handle,uid int,gid int)(err error){return EWINDOWS} 
 
func Getuid()(uid int){return -1} 
func Geteuid()(euid int){返回 -1} 
func Getgid()(gid int){return -1} 
func Getegid()(egid int){return -1} 
func Getgroup  s()(gids [] int,err error){return nil,EWINDOWS} 
   
 
 

这是否意味着还不可能? \ n

我可能会想念任何帮助。

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • dozr162106 2018-07-13 16:20
    已采纳

    File and security systems are operating system specific. Go is modeled on Linux, Darwin, and other Unix-like operating systems. The Go Windows port emulates most things, but, as you have discovered, not everything (some are just stubs). If the features you need are not in the Go standard library, look for independently written, open-source Go packages. The last resort is to write your own interface to the Microsoft Windows API.

    打赏 评论

相关推荐 更多相似问题