fix: use mount only for non-root users
Some checks failed
Create Release / changelog (push) Failing after 2m0s
Some checks failed
Create Release / changelog (push) Failing after 2m0s
This commit is contained in:
17
build.go
17
build.go
@ -64,20 +64,25 @@ func BuildCmd() *cli.Command {
|
||||
},
|
||||
},
|
||||
Action: func(c *cli.Context) error {
|
||||
var err error
|
||||
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 {
|
||||
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 {
|
||||
return err
|
||||
}
|
||||
defer wdCleanup()
|
||||
}
|
||||
|
||||
ctx := c.Context
|
||||
|
||||
@ -167,12 +172,16 @@ func BuildCmd() *cli.Command {
|
||||
|
||||
if scriptArgs != nil {
|
||||
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 {
|
||||
return err
|
||||
}
|
||||
defer scriptDirCleanup()
|
||||
scriptArgs.Script = filepath.Join(newScriptDir, scriptFile)
|
||||
}
|
||||
scriptArgs.Script = filepath.Join(scriptDir, scriptFile)
|
||||
}
|
||||
|
||||
if err := utils.ExitIfCantDropCapsToAlrUser(); err != nil {
|
||||
|
Reference in New Issue
Block a user