Transmit-power control is a critical task in cognitive radio (CR) networks. In the present contribution, adherence to hierarchies between primary and secondary users in a peer-to-peer CR network is enabled through distributed power control. Hierarchies are effected by imposing minimum and maximum bounds on a quality-of-service (QoS) metric, such as communication rate. These bounds translate to signal-to-interference-plus-noise ratio (SINR) constraints. Furthermore, a utility function captures each user's satisfaction with the received SINR. The novel power control strategy maximizes the total utility while respecting individual SINR constraints - a task recast as a convex optimization problem under a suitable relaxation. Sufficient conditions, realistic for practical CR networks, are provided to obtain the optimal power allocation from the solution of the relaxed problem. Finally, a low-overhead distributed algorithm for optimal power control is developed, and tested against competing alternatives via simulations.