Control which Roles can be Assigned in Drupal using Role Delegation
The roles and permissions system in Drupal is powerful, but it can be tricky to configure correctly. Some permissions give a role too much privileged access where others aren’t granular enough.
An excellent example of this is if you need to create a role to manage user accounts.
Drupal comes with the permission “Administer users” which lets you create user accounts, only give this permission to trusted users.
The above mention permission allows you to create user accounts but you can’t assign them roles without “Administer roles and permissions”. But this permission (“Administer roles and permissions”), will enable you to assign any roles, including the default Administrator role.