From 3269bc539e52cdced8c03a628e4fdf22942ece4b Mon Sep 17 00:00:00 2001 From: Joseph Richey Date: Thu, 19 Oct 2017 03:37:54 -0700 Subject: util: Add CheckIfRoot Replace IsUserRoot with CheckIfRoot. This allows all functions to use the same error handling when a user is not root. --- util/errors.go | 2 ++ util/users.go | 8 ++++++++ util/util.go | 5 ----- 3 files changed, 10 insertions(+), 5 deletions(-) (limited to 'util') 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 -} -- cgit v1.3