23 lines
		
	
	
		
			495 B
		
	
	
	
		
			Go
		
	
	
	
		
		
			
		
	
	
			23 lines
		
	
	
		
			495 B
		
	
	
	
		
			Go
		
	
	
	
|  | //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) | ||
|  | } |