How to rotate an object on the local axis?
Hitting RZZ will rotate an object about its local Z axis.
The second time you hit Z switches from global to local axes.

If you want to default to local axes, you can switch the mode from &quot;Global&quot; to &quot;Local&quot; in the header of the 3D view:


About your specific case:
In Blender, a torus is created with its local Z axis pointing through the hole at its center. Unless you have applied its rotations since it was created, hitting RZZ will rotate it about its local Z axis. (You'll see  the axis displayed as a blue line). The second time you hit Z, in this case, switches from global to local axes.
Or, if you turn on your rotation gizmo (the small button with an arc on it to the left of where it says Global' in the header at the bottom of your 3D view), and switch the 'Global' to 'Local', you'll see the axes available to you.