diff options
| author | Ophestra Umiker <cat@ophivana.moe> | 2024-11-16 21:19:45 +0900 |
|---|---|---|
| committer | Ophestra Umiker <cat@ophivana.moe> | 2024-11-16 21:19:45 +0900 |
| commit | df33123bd7f1e0cb4e98580b7e63818c82aa7206 (patch) | |
| tree | 8b21831634e6169eb875cbfd359fa4006d6c66b3 /internal/app/launch.machinectl.go | |
| parent | 1a09b55bd4753c6d5cbecf96d1b56f23b0e44b95 (diff) | |
app: integrate fsu
This removes the dependency on external user switchers like sudo/machinectl and decouples fortify user ids from the passwd database.
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
Diffstat (limited to 'internal/app/launch.machinectl.go')
| -rw-r--r-- | internal/app/launch.machinectl.go | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/internal/app/launch.machinectl.go b/internal/app/launch.machinectl.go deleted file mode 100644 index 3c196b84..00000000 --- a/internal/app/launch.machinectl.go +++ /dev/null @@ -1,57 +0,0 @@ -package app - -import ( - "strings" - - "git.ophivana.moe/security/fortify/internal/fmsg" -) - -func (a *app) commandBuilderMachineCtl(shimEnv string) (args []string) { - args = make([]string, 0, 9+len(a.seal.sys.bwrap.SetEnv)) - - // shell --uid=$USER - args = append(args, "shell", "--uid="+a.seal.sys.user.Username) - - // --quiet - if !fmsg.Verbose() { - args = append(args, "--quiet") - } - - // environ - envQ := make([]string, 0, len(a.seal.sys.bwrap.SetEnv)+1) - for k, v := range a.seal.sys.bwrap.SetEnv { - envQ = append(envQ, "-E"+k+"="+v) - } - // add shim payload to environment for shim path - envQ = append(envQ, "-E"+shimEnv) - args = append(args, envQ...) - - // -- .host - args = append(args, "--", ".host") - - // /bin/sh -c - if sh, err := a.os.LookPath("sh"); err != nil { - // hardcode /bin/sh path since it exists more often than not - args = append(args, "/bin/sh", "-c") - } else { - args = append(args, sh, "-c") - } - - // build inner command expression ran as target user - innerCommand := strings.Builder{} - - // apply custom environment variables to activation environment - innerCommand.WriteString("dbus-update-activation-environment --systemd") - for k := range a.seal.sys.bwrap.SetEnv { - innerCommand.WriteString(" " + k) - } - innerCommand.WriteString("; ") - - // launch fortify shim - innerCommand.WriteString("exec " + a.os.FshimPath()) - - // append inner command - args = append(args, innerCommand.String()) - - return -} |
