Separate permissions for administering user configuration and administering users
One method is to create a new permission

function MYMODULE_permission() {
  return array(
    'administer user configuration' =&gt; array(
      'title' =&gt; t('Administer User Configuration')
    )
  );
}


and then re-assign the pages under 'admin/config/people' to that permission:

function MYMODULE_menu_alter(&amp;$items) {
  foreach ($items as $path =&gt; &amp;$item) {
    if (strpos($path, 'admin/config/people') === 0) {
      $item['access callback'] = 'user_access';
      $item['access arguments'] = array('administer user configuration');
    }
  }
}


Then the user role in question can have the 'Administer users' permission, but not have access to the admin/people/config pages.

This feels messy at best though.