From 2c8360ade6620edf4bedec1294d30c0b098c637b Mon Sep 17 00:00:00 2001 From: Igor Dolzhikov Date: Thu, 7 Aug 2014 03:16:07 +0700 Subject: [PATCH] add helper --- helper.go | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 helper.go diff --git a/helper.go b/helper.go new file mode 100644 index 0000000..74c6862 --- /dev/null +++ b/helper.go @@ -0,0 +1,35 @@ +package daemon + +import ( + "os" + "os/exec" + "os/user" +) + +// Service constants +const ( + rootPrivileges = "You must have root user privileges. Possibly using 'sudo' command should help" + success = "\t\t\t\t\t[ \033[32mOK\033[0m ]" // Show colored "OK" + failed = "\t\t\t\t\t[\033[31mFAILED\033[0m]" // Show colored "FAILED" +) + +// Lookup path for executable file +func executablePath(name string) (string, error) { + if path, err := exec.LookPath(name); err == nil { + _, err := os.Stat(path) + if os.IsNotExist(err) { + return execPath() + } + return path, nil + } + return execPath() +} + +// Check root rights to use system service +func checkPrivileges() bool { + + if user, err := user.Current(); err == nil && user.Gid == "0" { + return true + } + return false +}