'Probe all vectors to find a working su command.
The method run_until is not used due to the check of shell_sh
enabling for every tested vector.
Args:
self.args: The dictionary of arguments
Returns:
Status value, must be Status.RUN, Status.FAIL, or Status.IDLE.'

def setup(self):

    args_check = {'user': self.args['user'], 'passwd': self.args['passwd'], 'command': 'whoami'}
    (vector_name, result) = self.vectors.find_first_result(names=[self.args.get('vector', '')], format_args=args_check, condition=(lambda result: ((self.session['shell_sh']['status'] == Status.FAIL) or ((self.session['shell_sh']['status'] == Status.RUN) and result and (result.rstrip() == self.args['user'])))))
    if ((self.session['shell_sh']['status'] == Status.RUN) and result and (result.rstrip() == self.args['user'])):
        self.session['shell_su']['stored_args']['vector'] = vector_name
        return Status.RUN
    else:
        log.warn(messages.module_shell_su.error_su_executing)
        return Status.IDLE
