forked from Plemya-x/ALR
		
	fix: use mount only for non-root users
This commit is contained in:
		
							
								
								
									
										41
									
								
								build.go
									
									
									
									
									
								
							
							
						
						
									
										41
									
								
								build.go
									
									
									
									
									
								
							| @@ -64,20 +64,25 @@ func BuildCmd() *cli.Command { | ||||
| 			}, | ||||
| 		}, | ||||
| 		Action: func(c *cli.Context) error { | ||||
| 			if err := utils.EnuseIsPrivilegedGroupMember(); err != nil { | ||||
| 				return err | ||||
| 			} | ||||
| 			var err error | ||||
| 			var wd string | ||||
| 			if utils.IsNotRoot() { | ||||
| 				if err := utils.EnuseIsPrivilegedGroupMember(); err != nil { | ||||
| 					return err | ||||
| 				} | ||||
|  | ||||
| 			wd, err := os.Getwd() | ||||
| 			if err != nil { | ||||
| 				return cliutils.FormatCliExit(gotext.Get("Error getting working directory"), err) | ||||
| 			} | ||||
| 				wd, err = os.Getwd() | ||||
| 				if err != nil { | ||||
| 					return cliutils.FormatCliExit(gotext.Get("Error getting working directory"), err) | ||||
| 				} | ||||
|  | ||||
| 			wd, wdCleanup, err := Mount(wd) | ||||
| 			if err != nil { | ||||
| 				return err | ||||
| 				var wdCleanup func() | ||||
| 				wd, wdCleanup, err = Mount(wd) | ||||
| 				if err != nil { | ||||
| 					return err | ||||
| 				} | ||||
| 				defer wdCleanup() | ||||
| 			} | ||||
| 			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)) | ||||
| 				if err != nil { | ||||
| 					return err | ||||
| 				scriptDir := filepath.Dir(scriptArgs.Script) | ||||
| 				if utils.IsNotRoot() { | ||||
| 					var scriptDirCleanup func() | ||||
| 					scriptDir, scriptDirCleanup, err = Mount(scriptDir) | ||||
| 					if err != nil { | ||||
| 						return err | ||||
| 					} | ||||
| 					defer scriptDirCleanup() | ||||
| 				} | ||||
| 				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