Add stdout/err for user/groupmod, Add RunBefore
This commit is contained in:
parent
329f356b28
commit
83cf298c17
28
main.go
28
main.go
@ -28,6 +28,8 @@ type config struct {
|
|||||||
UpdateGID bool
|
UpdateGID bool
|
||||||
Group string
|
Group string
|
||||||
GIDVariable string
|
GIDVariable string
|
||||||
|
|
||||||
|
RunBefore [][]string
|
||||||
}
|
}
|
||||||
|
|
||||||
const defaultVariableRegex = `\$\{([a-zA-Z0-9_-]+)\}`
|
const defaultVariableRegex = `\$\{([a-zA-Z0-9_-]+)\}`
|
||||||
@ -145,7 +147,11 @@ func updateUID(config config) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
err := exec.Command("usermod", "-u", newUID, config.User).Run()
|
log.Println("Updating UID of user", config.User)
|
||||||
|
cmd := exec.Command("usermod", "-u", newUID, config.User)
|
||||||
|
cmd.Stdout = os.Stdout
|
||||||
|
cmd.Stderr = os.Stderr
|
||||||
|
err := cmd.Run()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -165,7 +171,11 @@ func updateGID(config config) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
err := exec.Command("groupmod", "-g", newGID, config.Group).Run()
|
log.Println("Updating GID of user", config.Group)
|
||||||
|
cmd := exec.Command("groupmod", "-g", newGID, config.Group)
|
||||||
|
cmd.Stdout = os.Stdout
|
||||||
|
cmd.Stderr = os.Stderr
|
||||||
|
err := cmd.Run()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -195,7 +205,6 @@ func main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if config.UpdateUID {
|
if config.UpdateUID {
|
||||||
log.Println("Updating UID")
|
|
||||||
err = updateUID(*config)
|
err = updateUID(*config)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalln(err)
|
log.Fatalln(err)
|
||||||
@ -203,13 +212,24 @@ func main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if config.UpdateGID {
|
if config.UpdateGID {
|
||||||
log.Println("Updating GID")
|
|
||||||
err = updateGID(*config)
|
err = updateGID(*config)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalln(err)
|
log.Fatalln(err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for _, command := range config.RunBefore {
|
||||||
|
log.Println(">", strings.Join(command, " "))
|
||||||
|
cmd := exec.Command(command[0], command[1:]...)
|
||||||
|
cmd.Stdout = os.Stdout
|
||||||
|
cmd.Stderr = os.Stderr
|
||||||
|
|
||||||
|
err = cmd.Run()
|
||||||
|
if err != nil {
|
||||||
|
log.Fatalln(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
command := flag.Args()
|
command := flag.Args()
|
||||||
log.Println(">", strings.Join(command, " "))
|
log.Println(">", strings.Join(command, " "))
|
||||||
cmd := exec.Command(command[0], command[1:]...)
|
cmd := exec.Command(command[0], command[1:]...)
|
||||||
|
Loading…
Reference in New Issue
Block a user