-
-
Notifications
You must be signed in to change notification settings - Fork 9
/
godoc.go
36 lines (36 loc) · 1.18 KB
/
godoc.go
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
30
31
32
33
34
35
36
// Easy file permissions for golang. Easily get and set file permission bits.
//
// This package makes it a breeze to check and modify file permission bits in Linux, Mac, and other Unix systems.
//
// permissions, err := permbits.Stat("/path/to/my/file")
// if err != nil {
// return err
// }
//
// // Check to make sure the group can write to the file
// // If they can't write, update the permissions so they can
// if !permissions.GroupWrite() {
// permissions.SetGroupWrite(true)
// err := permbits.Chmod("/path/to/my/file", permissions)
// if err != nil {
// return errors.New("error setting permission on file", err)
// }
// }
// // Also works well with os.File
// fileInfo, err := file.Stat()
// if err != nil {
// return err
// }
// fileMode := fileInfo.Mode()
// permissions := permbits.FileMode(fileMode)
//
// // Disable write access to the file for everyone but the user
// permissions.SetGroupWrite(false)
// permissions.SetOtherWrite(false)
// permbits.UpdateFileMode(&fileMode, permissions)
//
// // You can also work with octets directly
// if permissions != 0777 {
// return fmt.Errorf("Permissions on file are incorrect. Should be 777, got %o", permissions)
// }
package permbits