1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
// +build !windows
package os
import (
"fmt"
"os"
"syscall"
)
// Returns the UID for a file.
func GetFileUID(fi os.FileInfo) (int, error) {
st, ok := fi.Sys().(*syscall.Stat_t)
if !ok {
return 0, fmt.Errorf("unknown file info type: %T", fi.Sys())
}
return int(st.Uid), nil
}
// Returns the GID for a file.
func GetFileGID(fi os.FileInfo) (int, error) {
st, ok := fi.Sys().(*syscall.Stat_t)
if !ok {
return 0, fmt.Errorf("unknown file info type: %T", fi.Sys())
}
return int(st.Gid), nil
}
|