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