fix: use mount only for non-root users
Some checks failed
Create Release / changelog (push) Failing after 2m0s

This commit is contained in:
2025-05-30 19:41:17 +03:00
parent 09dba577c6
commit c51caf5c52

View File

@ -64,20 +64,25 @@ func BuildCmd() *cli.Command {
}, },
}, },
Action: func(c *cli.Context) error { Action: func(c *cli.Context) error {
if err := utils.EnuseIsPrivilegedGroupMember(); err != nil { var err error
return err var wd string
} if utils.IsNotRoot() {
if err := utils.EnuseIsPrivilegedGroupMember(); err != nil {
return err
}
wd, err := os.Getwd() wd, err = os.Getwd()
if err != nil { if err != nil {
return cliutils.FormatCliExit(gotext.Get("Error getting working directory"), err) return cliutils.FormatCliExit(gotext.Get("Error getting working directory"), err)
} }
wd, wdCleanup, err := Mount(wd) var wdCleanup func()
if err != nil { wd, wdCleanup, err = Mount(wd)
return err if err != nil {
return err
}
defer wdCleanup()
} }
defer wdCleanup()
ctx := c.Context ctx := c.Context
@ -167,12 +172,16 @@ func BuildCmd() *cli.Command {
if scriptArgs != nil { if scriptArgs != nil {
scriptFile := filepath.Base(scriptArgs.Script) scriptFile := filepath.Base(scriptArgs.Script)
newScriptDir, scriptDirCleanup, err := Mount(filepath.Dir(scriptArgs.Script)) scriptDir := filepath.Dir(scriptArgs.Script)
if err != nil { if utils.IsNotRoot() {
return err var scriptDirCleanup func()
scriptDir, scriptDirCleanup, err = Mount(scriptDir)
if err != nil {
return err
}
defer scriptDirCleanup()
} }
defer scriptDirCleanup() scriptArgs.Script = filepath.Join(scriptDir, scriptFile)
scriptArgs.Script = filepath.Join(newScriptDir, scriptFile)
} }
if err := utils.ExitIfCantDropCapsToAlrUser(); err != nil { if err := utils.ExitIfCantDropCapsToAlrUser(); err != nil {