Esempio n. 1
0
def change_basic_auth(value=None):
    while value is None or value.lower() != 's':
        if interactive:
            value = input('[INFO] Enable user authentication? [Y/n/s]: ')
            if value.lower() == '' or value.lower() == 'y' or value.lower(
            ) == 'yes':
                value = 'yes'
                username = input(
                    '[INFO] New API user (Press enter to skip, default user is `wazuh`): '
                )
                if username != '':
                    while True:
                        password = input('[INFO] New password: '******'[INFO] Re-type new password: '******'':
                            break
                        print(
                            '[ERROR] Password verification error: Passwords don\'t match or password is empty.'
                        )
                    try:
                        user = security.create_user(username, password)
                        print(
                            '[INFO] User created correctly. Username: \'{}\''.
                            format(user['data']['items'][0]['username']))
                    except Exception:
                        print('[ERROR] Username \'{}\' already exist'.format(
                            username))
            elif value.lower() == 'n' or value.lower() == 'no':
                value = 'no'
            else:
                return False

        lines = _open_file()
        value = _convert_boolean_to_string(value)
        new_file = _match_value(_basic_auth_value, lines, value)
        if new_file != '':
            with open(CONFIG_FILE_PATH, 'w') as f:
                f.write(new_file)
                print('[INFO] Basic auth value set to \'{}\''.format(value))
                return True
        if not interactive:
            return False
    return False
Esempio n. 2
0
    return {role["name"]: role["id"] for role in roles_result.affected_items}


if __name__ == "__main__":
    parser = argparse.ArgumentParser(description='add_user script')
    parser.add_argument('--username', action="store", dest="username")
    parser.add_argument('--password', action="store", dest="password")
    results = parser.parse_args()

    username = results.username
    password = results.password

    initial_users = db_users()
    if username not in initial_users:
        # create a new user
        create_user(username=username, password=password)
        users = db_users()
        uid = users[username]
        roles = db_roles()
        rid = roles["administrator"]
        set_user_role(
            user_id=[
                str(uid),
            ],
            role_ids=[
                str(rid),
            ],
        )
    else:
        # modify an existing user ("wazuh" or "wazuh-wui")
        uid = initial_users[username]