aboutsummaryrefslogtreecommitdiff
path: root/vendor/github.com/sid77/drop/README.md
blob: ef71e5f369522cacedb77ac27c7c194543dffc8f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# drop

An easy way for dropping privileges in Go.


```
import "github.com/sid77/drop"

// privileged code here
// ...

if err := drop.DropPrivileges("some user"); err != nil {
        log.Fatal(err)
}

// unprivileged code here
// ...
```

drop will take care of calling `setre{s}[g,u]id()` depending on the platform it's being run on.

Beware that if Go coroutines are created *before* dropping the program privileges, some of them may retain the original permissions. This is a [limitation of the Go runtime itself](https://github.com/golang/go/issues/1435).