|
|
|
@ -76,23 +76,30 @@ func AddUser(username string, uid string) error {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func AddGroup(name string, gid string) error {
|
|
|
|
|
cmd := exec.Command(
|
|
|
|
|
"groupadd",
|
|
|
|
|
"--gid", gid,
|
|
|
|
|
name,
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
output, err := cmd.CombinedOutput()
|
|
|
|
|
_, err := user.LookupGroupId(gid)
|
|
|
|
|
if err != nil {
|
|
|
|
|
return fmt.Errorf(
|
|
|
|
|
"Error adding group: %w. Process error: %w. Process output: %s",
|
|
|
|
|
ErrAddGroupFailExit,
|
|
|
|
|
err,
|
|
|
|
|
output,
|
|
|
|
|
)
|
|
|
|
|
if _, ok := err.(*user.UnknownGroupError); ok {
|
|
|
|
|
cmd := exec.Command(
|
|
|
|
|
"groupadd",
|
|
|
|
|
"--gid", gid,
|
|
|
|
|
name,
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
output, err := cmd.CombinedOutput()
|
|
|
|
|
if err != nil {
|
|
|
|
|
return fmt.Errorf(
|
|
|
|
|
"Error adding group: %w. Process error: %w. Process output: %s",
|
|
|
|
|
ErrAddGroupFailExit,
|
|
|
|
|
err,
|
|
|
|
|
output,
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return nil
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return nil
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const osDarwin = "darwin"
|
|
|
|
|