We would like to keep our users from seeing each other's email addresses and other private information. Is there a way to set it up so only the administrator can see email addresses, yet the students can still participate in forums, etc.?
I read the page you linked to and all of the pages that it linked to, but found no way to accomplish what I am looking for. We use an external database for users and there appears to be no way to control who can see email addresses other than to manually change each new student by editing their profile directly. Even that, though, does not stop people from changing it back.
Well, you could install Adminer:
and use it to update (via SQL update statement) the maildisplay field.
Then create a role with the Update own profile capability disabled:
and assign it to the users who musn't change their profile.