You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
19 lines
395 B
19 lines
395 B
package lumberjack |
|
|
|
import ( |
|
"os" |
|
"syscall" |
|
) |
|
|
|
// os_Chown is a var so we can mock it out during tests. |
|
var os_Chown = os.Chown |
|
|
|
func chown(name string, info os.FileInfo) error { |
|
f, err := os.OpenFile(name, os.O_CREATE|os.O_WRONLY|os.O_TRUNC, info.Mode()) |
|
if err != nil { |
|
return err |
|
} |
|
f.Close() |
|
stat := info.Sys().(*syscall.Stat_t) |
|
return os_Chown(name, int(stat.Uid), int(stat.Gid)) |
|
} |