I would recommend to use TACACS+ instead of RADIUS.
Depending on your network device, in ACS you can use "command authorization sets" (when using traditional IOS) or "shell profiles" (when using Cisco IOS XE, IOS XR, Cisco ACE, Juniper JunOS, etc).
For read only you can deny the "config terminal" command. For read write you can allow the "config terminal" command.
Here's an example of allowing/denying commands by using "command authorization sets".
PLease rate if it helps. Kind regards.