> 
> I don't know how to use udev, but it does seem like the sort of thing I 
> should learn.  Here's what's happening on my system:
> 
> (1) there are several USB drives attached to the machine
> (2) when it reboots, those drives are not automounted, until...
> (3) I log in at the console, and then they are mounted, but...
> (4) if I'm not there, but I ssh in, they are still not mounted.
>

Right. This makes sense, and the system is bahaving as it should.

Your solution works, but you want this automated. Most certainly a udev task,
with some additional tweaks (see below).

Have a look here:
http://www.reactivated.net/writing_udev_rules.html
http://www.reactivated.net/writing_udev_rules.html#example-usbhdd

I am going to be digging into udev in the coming weeks, but your early timing
catches me un-prepared to provide any real help...
 
> 
> While I'm on this topic, because of how they are mounted, these drives are 
> only accessible to me -- to my user account -- and not to other users or 
> processes.  I would like to be able to make them available to, say, the 
> Apache web server.  Does anyone know how to do that?
> 

What I would do is create a group (/etc/groups) that is responsible for keeping
this data around and make both you and the webserver user ("apache" I think)
members of the group. Then, give read-write and execute permissions to the
drives to this group. Something like that.


> Best answer would do this:
> 
> (1) mount all attached USB drives at startup before anyone logs in and
> (2) all mount points have certain owner/group permissions:
>     I am owner (rw), www-data is group (r-only)
> (3) do the same thing when a new USB drive is attached to the 
> already-running system
>

You are suggesting the solution I offered above. I think you are on the right
track. With some testing you will get there.