Merge pull request #65 from sdmarshall79/issue64
This will replace hard-coded values with calls to LookupMQM
This commit is contained in:
@@ -64,8 +64,12 @@ func (ks *KeyStore) Create() error {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// TODO: Lookup value for MQM user here?
|
mqmUID, mqmGID, err := command.LookupMQM()
|
||||||
err = os.Chown(ks.Filename, 999, 999)
|
if err != nil {
|
||||||
|
log.Error(err)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
err = os.Chown(ks.Filename, mqmUID, mqmGID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error(err)
|
log.Error(err)
|
||||||
return err
|
return err
|
||||||
@@ -88,8 +92,12 @@ func (ks *KeyStore) CreateStash() error {
|
|||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
// TODO: Lookup value for MQM user here?
|
mqmUID, mqmGID, err := command.LookupMQM()
|
||||||
err = os.Chown(stashFile, 999, 999)
|
if err != nil {
|
||||||
|
log.Error(err)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
err = os.Chown(stashFile, mqmUID, mqmGID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error(err)
|
log.Error(err)
|
||||||
return err
|
return err
|
||||||
|
|||||||
@@ -19,6 +19,8 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"path"
|
"path"
|
||||||
"text/template"
|
"text/template"
|
||||||
|
|
||||||
|
"github.com/ibm-messaging/mq-container/internal/command"
|
||||||
)
|
)
|
||||||
|
|
||||||
// processTemplateFile takes a Go templateFile, and processes it with the
|
// processTemplateFile takes a Go templateFile, and processes it with the
|
||||||
@@ -35,8 +37,12 @@ func processTemplateFile(templateFile, destFile string, data interface{}) error
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
if os.IsNotExist(err) {
|
if os.IsNotExist(err) {
|
||||||
os.MkdirAll(dir, 0660)
|
os.MkdirAll(dir, 0660)
|
||||||
// TODO: Lookup value for MQM user here?
|
mqmUID, mqmGID, err := command.LookupMQM()
|
||||||
err = os.Chown(dir, 999, 999)
|
if err != nil {
|
||||||
|
log.Error(err)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
err = os.Chown(dir, mqmUID, mqmGID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error(err)
|
log.Error(err)
|
||||||
return err
|
return err
|
||||||
@@ -52,8 +58,12 @@ func processTemplateFile(templateFile, destFile string, data interface{}) error
|
|||||||
log.Error(err)
|
log.Error(err)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
// TODO: Lookup value for MQM user here?
|
mqmUID, mqmGID, err := command.LookupMQM()
|
||||||
err = os.Chown(destFile, 999, 999)
|
if err != nil {
|
||||||
|
log.Error(err)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
err = os.Chown(destFile, mqmUID, mqmGID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error(err)
|
log.Error(err)
|
||||||
return err
|
return err
|
||||||
|
|||||||
@@ -19,6 +19,8 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
|
||||||
|
"github.com/ibm-messaging/mq-container/internal/command"
|
||||||
)
|
)
|
||||||
|
|
||||||
func configureWebTLS(cms *KeyStore) error {
|
func configureWebTLS(cms *KeyStore) error {
|
||||||
@@ -76,9 +78,14 @@ func configureTLS(qmName string, inputFile string, passPhrase string) error {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
err = os.Chown(dir, 999, 999)
|
mqmUID, mqmGID, err := command.LookupMQM()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Debug(err)
|
log.Error(err)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
err = os.Chown(dir, mqmUID, mqmGID)
|
||||||
|
if err != nil {
|
||||||
|
log.Error(err)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -17,28 +17,12 @@ package main
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"os"
|
"os"
|
||||||
"os/user"
|
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"runtime"
|
"runtime"
|
||||||
"strconv"
|
|
||||||
"syscall"
|
"syscall"
|
||||||
)
|
|
||||||
|
|
||||||
func lookupMQM() (int, int, error) {
|
"github.com/ibm-messaging/mq-container/internal/command"
|
||||||
mqm, err := user.Lookup("mqm")
|
)
|
||||||
if err != nil {
|
|
||||||
return -1, -1, err
|
|
||||||
}
|
|
||||||
mqmUID, err := strconv.Atoi(mqm.Uid)
|
|
||||||
if err != nil {
|
|
||||||
return -1, -1, err
|
|
||||||
}
|
|
||||||
mqmGID, err := strconv.Atoi(mqm.Gid)
|
|
||||||
if err != nil {
|
|
||||||
return -1, -1, err
|
|
||||||
}
|
|
||||||
return mqmUID, mqmGID, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func createVolume(path string) error {
|
func createVolume(path string) error {
|
||||||
dataPath := filepath.Join(path, "data")
|
dataPath := filepath.Join(path, "data")
|
||||||
@@ -60,7 +44,7 @@ func createVolume(path string) error {
|
|||||||
sys := fi.Sys()
|
sys := fi.Sys()
|
||||||
if sys != nil && runtime.GOOS == "linux" {
|
if sys != nil && runtime.GOOS == "linux" {
|
||||||
stat := sys.(*syscall.Stat_t)
|
stat := sys.(*syscall.Stat_t)
|
||||||
mqmUID, mqmGID, err := lookupMQM()
|
mqmUID, mqmGID, err := command.LookupMQM()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ func configureWebServer() error {
|
|||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
uid, gid, err := lookupMQM()
|
uid, gid, err := command.LookupMQM()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ func Run(name string, arg ...string) (string, int, error) {
|
|||||||
func RunAsMQM(name string, arg ...string) (string, int, error) {
|
func RunAsMQM(name string, arg ...string) (string, int, error) {
|
||||||
cmd := exec.Command(name, arg...)
|
cmd := exec.Command(name, arg...)
|
||||||
cmd.SysProcAttr = &syscall.SysProcAttr{}
|
cmd.SysProcAttr = &syscall.SysProcAttr{}
|
||||||
uid, gid, err := lookupMQM()
|
uid, gid, err := LookupMQM()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", 0, err
|
return "", 0, err
|
||||||
}
|
}
|
||||||
@@ -68,8 +68,8 @@ func RunAsMQM(name string, arg ...string) (string, int, error) {
|
|||||||
return RunCmd(cmd)
|
return RunCmd(cmd)
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Duplicated code
|
// LookupMQM looks up the UID & GID of the mqm user
|
||||||
func lookupMQM() (int, int, error) {
|
func LookupMQM() (int, int, error) {
|
||||||
mqm, err := user.Lookup("mqm")
|
mqm, err := user.Lookup("mqm")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return -1, -1, err
|
return -1, -1, err
|
||||||
|
|||||||
Reference in New Issue
Block a user