Send login link in email to registered users
You should be able to use the Login one time module for this.


  Login one time provides the ability to email one-time login links to
  users. You can also choose the pages they will land on.


I would imagine that the users might be able to change their own paswords after using this one time link.  To prevent this, you should be able to use the Edit own user account permission module.


  This module manage edit permissions to the name, mail and password
  profile filed. You can manage permissions to the other profile
  entities by other admin menu settings.