Add os specific stuff
This commit is contained in:
		
							parent
							
								
									ff4b332abc
								
							
						
					
					
						commit
						e9cbf8bf28
					
				|  | @ -0,0 +1,22 @@ | |||
| //go:build darwin
 | ||||
| // +build darwin
 | ||||
| 
 | ||||
| package util | ||||
| 
 | ||||
| import ( | ||||
| 	"os/user" | ||||
| 	"path/filepath" | ||||
| ) | ||||
| 
 | ||||
| // IsSuperUser returns true, if the current user is a super user
 | ||||
| // A.K.A root, Administrator etc
 | ||||
| func IsSuperUser() bool { | ||||
| 	cuser, err := user.Current() | ||||
| 	return err == nil && "0" == cuser.Uid | ||||
| } | ||||
| 
 | ||||
| // GetGlobalConfigurationDirectory returns OS specific location for putting
 | ||||
| // global configuration files
 | ||||
| func GetGlobalConfigurationDirectory(appname string) string { | ||||
| 	return filepath.Join("/etc", appname) | ||||
| } | ||||
|  | @ -0,0 +1,22 @@ | |||
| //go:build linux
 | ||||
| // +build linux
 | ||||
| 
 | ||||
| package util | ||||
| 
 | ||||
| import ( | ||||
| 	"os/user" | ||||
| 	"path/filepath" | ||||
| ) | ||||
| 
 | ||||
| // IsSuperUser returns true, if the current user is a super user
 | ||||
| // A.K.A root, Administrator etc
 | ||||
| func IsSuperUser() bool { | ||||
| 	cuser, err := user.Current() | ||||
| 	return err == nil && "0" == cuser.Uid | ||||
| } | ||||
| 
 | ||||
| // GetGlobalConfigurationDirectory returns OS specific location for putting
 | ||||
| // global configuration files
 | ||||
| func GetGlobalConfigurationDirectory(appname string) string { | ||||
| 	return filepath.Join("/etc", appname) | ||||
| } | ||||
|  | @ -0,0 +1,25 @@ | |||
| //go:build windows
 | ||||
| // +build windows
 | ||||
| 
 | ||||
| package util | ||||
| 
 | ||||
| import ( | ||||
| 	"os" | ||||
| 	"path/filepath" | ||||
| ) | ||||
| 
 | ||||
| // IsSuperUser returns true, if the current user is a super user
 | ||||
| // A.K.A root, Administrator etc
 | ||||
| func IsSuperUser() bool { | ||||
| 	_, err := os.Open("\\\\.\\PHYSICALDRIVE0") | ||||
| 	if err != nil { | ||||
| 		return false | ||||
| 	} | ||||
| 	return true | ||||
| } | ||||
| 
 | ||||
| // GetGlobalConfigurationDirectory returns OS specific location for putting
 | ||||
| // global configuration files
 | ||||
| func GetGlobalConfigurationDirectory(appname string) string { | ||||
| 	return filepath.Join(os.Getenv("APPDATA"), appname) | ||||
| } | ||||
		Loading…
	
		Reference in New Issue