In admin manage users page, how can I stop users with certain privileges from editing users with other privileges?

It sounds like you want to remove the following permissions from the ‘liaison’ role:

  • create_users
  • delete_users
  • edit_users
  • promote_users
  • remove_users

Keep “list_users” so they can see the list, but not edit anything.

The easiest way to remove these permissions is to use a Role Editor plugin. Several are available; you’ll select the ‘liaison’ role, and then through a series of checkboxes, you can remove the above permissions. Once you’ve saved, you can remove the plugin; WP will keep the permissions as you’ve saved them.

If you’d rather not use a third-party plugin, you can use code like this instead:

// Temporarily remove Liaison
remove_role('liaison');
// Add Liaison role back, with only the permissions you specify here
add_role('liaison', 'Liaison');
$liaison = get_role('liaison');
$liaison->add_cap('read');
$liaison->add_cap('list_users');

You may find Liaisons need a couple of other permissions, but this will give them read-only access to content as well as a list of users.