In short, I wanted to be able to mount USB drives as a normal user without being logged into a graphical session. This has been achieved.
There were two basic pieces I was missing:
- A volume manager. I ended up using ivman which does exactly what I want.
- Policy configuration. ConsoleKit, PolicyKit, and all the other byzantine additions to Linux are ultimately configurable.
The addition to /etc/PolicyKit/PolicyKit.conf:
<match action="org.freedesktop.hal.storage.mount-removable"> <match group="users"> <return result="yes"/> </match> </match>
Decently obvious in retrospect, but virtually none of this is documented. On the first ssh session into the box, I need to start ivman as my UID. Everything else just works.