code: def UpdateUser(self, user, ssh_keys):
      
      if not bool(USER_REGEX.match(user)):
        self.logger.warning('Invalid user account name %s.', user)
        return False
      if not self._GetUser(user):
        # User does not exist. Attempt to create the user and add them to the
        # appropriate user groups.
        if not (self._AddUser(user)
                and self._UpdateUserGroups(user, self.groups)):
          return False
      # Add the user to the google sudoers group.
      if not self._UpdateSudoer(user, sudoer=True):
        return False
  
      # Don't try to manage account SSH keys with a shell set to disable
      # logins. This helps avoid problems caused by operator and root sharing
      # a home directory in CentOS and RHEL.
      pw_entry = self._GetUser(user)
      if pw_entry and os.path.basename(pw_entry.pw_shell) == 'nologin':
        message = 'Not updating user %s. User set `nologin` as login shell.'
        self.logger.debug(message, user)
        return True
  
      try:
        self._UpdateAuthorizedKeys(user, ssh_keys)
      except (IOError, OSError) as e:
        message = 'Could not update the authorized keys file for user %s. %s.'
        self.logger.warning(message, user, str(e))
        return False
      else:
        return True
docs: Update a Linux user with authorized SSH keys.
  
      Args:
        user: string, the name of the Linux user account.
        ssh_keys: list, the SSH key strings associated with the user.
  
      Returns:
        bool, True if the user account updated successfully.