Many years ago I had the same problem.
As I recall, the ODBC driver I used had some settings in it that allowed it
to be configured as Read Only.
(A knowledgable user can easily defeat this but....)
If a table does not have a PK then it is read only.
But you probably don't want to remove those!!
However, during the link, if you are asked to provide a Unique Record
Identifier - don't.
The table will be read only.
(User can defeat this to by creating a fake index in Access.)
Perhaps you can create unindexed views and link to them instead of the
tables.
They might be read only.
(User may figure out the underlying table and link directly though.)
It is pretty tough to ensure a read only table STAYS read-only.
Good luck!
Let me know which strategy you picked!