I assume you mean by "link table" the relationship or through table in a many_many relationship?
That table does not require a primary key, as long as you don't create a model for it and use that model. For normal many_many relations its not required to create a model, it is not used by the ORM.
If you do create a model, you have to assign a primary key. Models can't function without it.
If you have to write data to it, it isn't really a link table any more. It's a table having two one-to-many relations, and requires a model, a PK, and the relations setup correctly (so no many-many anymore).