@Dougal Campbell I was actually thinking more about the way that Wordpress or Drupal allow permissions on directories, etc. For example, you cannot install or update modules remotely in Drupal as you can in Wordpress -- Drupal requires SSH or FTP access to do this. Certainly the problem of having to store the database credentials in plain text is universal (to a large extent, at least) and has a certain catch 22 aspect about it... There are some interesting solutions to this, as you and others have pointed out.

I had a terrible experience with a very large hosting company, that I feel it would be unethical to name, in which I got a new shared hosting account and after connecting via SSH (FTP did not do this) I was able to change dir's lower and lower -- I could get to the / of the server. Although I could not view most files and could not modify much outside of the shared_hosts directory (or w/e it was really called), I could still view the directories of nearly all of the websites on this server and could definitely modify users who has poor permissions on their directories. I was also able to view nearly all wp-config files, for example, and see their db info. I filed a complaint and was ignored multiple times. Eventually I demanded a refund -- and I got it -- but they seemed to completely ignore this huge vulnerability.