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 {
|
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 {
|
||||||
|
Reference in New Issue
Block a user