Esempio n. 1
0
func (b *OnBuild) checkNoRoot(config *api.Config) error {
	if !config.NoRoot {
		return nil
	}
	user, err := b.docker.GetImageUser(config.BuilderImage)
	if err != nil {
		return err
	}
	if util.IsPotentialRootUser(user) {
		return errors.NewBuilderRootNotAllowedError(config.BuilderImage, false)
	}
	cmds, err := b.docker.GetOnBuild(config.BuilderImage)
	if err != nil {
		return err
	}
	if util.IncludesRootUserDirective(cmds) {
		return errors.NewBuilderRootNotAllowedError(config.BuilderImage, true)
	}
	return nil

}
Esempio n. 2
0
func (b *STI) checkNoRoot(config *api.Config) error {
	if !config.NoRoot {
		return nil
	}
	user, err := b.docker.GetImageUser(config.BuilderImage)
	if err != nil {
		return err
	}
	if util.IsPotentialRootUser(user) {
		return errors.NewBuilderRootNotAllowedError(config.BuilderImage, false)
	}
	return nil
}