diff options
| author | Joseph Richey <joerichey94@gmail.com> | 2017-10-19 03:37:54 -0700 |
|---|---|---|
| committer | Joseph Richey <joerichey94@gmail.com> | 2017-10-19 03:54:50 -0700 |
| commit | 3269bc539e52cdced8c03a628e4fdf22942ece4b (patch) | |
| tree | 062792c21fe6751e14f827616bf454e62210a1dc /util | |
| parent | fe76f6f1cc71c75bc1124f4fe3171c679c06aa1c (diff) | |
util: Add CheckIfRoot
Replace IsUserRoot with CheckIfRoot. This allows all functions to use
the same error handling when a user is not root.
Diffstat (limited to 'util')
| -rw-r--r-- | util/errors.go | 2 | ||||
| -rw-r--r-- | util/users.go | 8 | ||||
| -rw-r--r-- | util/util.go | 5 |
3 files changed, 10 insertions, 5 deletions
diff --git a/util/errors.go b/util/errors.go index fada687..f0b9403 100644 --- a/util/errors.go +++ b/util/errors.go @@ -29,6 +29,8 @@ import ( ) var ( + // ErrNotRoot indicates the action is restricted to the superuser. + ErrNotRoot = errors.New("only root can perform this action") // ErrSkipIntegration indicates integration tests shouldn't be run. ErrSkipIntegration = errors.New("skipping integration test") ) diff --git a/util/users.go b/util/users.go index 92affa8..49abd32 100644 --- a/util/users.go +++ b/util/users.go @@ -48,3 +48,11 @@ func GetUser(uid int) *user.User { func CurrentUser() *user.User { return GetUser(CurrentUserID()) } + +// CheckIfRoot returns ErrNotRoot if the current user is not the root user. +func CheckIfRoot() error { + if id := CurrentUserID(); id != 0 { + return ErrNotRoot + } + return nil +} diff --git a/util/util.go b/util/util.go index ed78519..df24a99 100644 --- a/util/util.go +++ b/util/util.go @@ -117,8 +117,3 @@ func AtoiOrPanic(input string) int { } return i } - -// IsUserRoot checks if the effective user is root. -func IsUserRoot() bool { - return CurrentUserID() == 0 -} |