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 {
var err error
var wd string
if utils.IsNotRoot() {
if err := utils.EnuseIsPrivilegedGroupMember(); err != nil { if err := utils.EnuseIsPrivilegedGroupMember(); err != nil {
return err 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()
wd, wdCleanup, err = Mount(wd)
if err != nil { if err != nil {
return err 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 utils.IsNotRoot() {
var scriptDirCleanup func()
scriptDir, scriptDirCleanup, err = Mount(scriptDir)
if err != nil { if err != nil {
return err return err
} }
defer scriptDirCleanup() defer scriptDirCleanup()
scriptArgs.Script = filepath.Join(newScriptDir, scriptFile) }
scriptArgs.Script = filepath.Join(scriptDir, scriptFile)
} }
if err := utils.ExitIfCantDropCapsToAlrUser(); err != nil { if err := utils.ExitIfCantDropCapsToAlrUser(); err != nil {