Here is an image.
Look up how many faces your “path” object has and set the particle system to emit just as many particles.
All these particles should be emitted at frame 0. If you are animating set the lifetime so something like 50000 so that they don’t suddently die on you.
Set everything as in the image.
With “jittering amount” you can randomize the position
There is also a randomize slider in the rotation settings.
And finally there is a scale randomness in the “Render” section.
If you want several different kinds of rivets you could use a collection instad of an object in “Instance Object” and set it to random. That way different kinds of objects are distributed randomly. Perhpas you want a couple of dameage rivets.
If you use a collection you can check “use count” for specific patterns. For example if you want one round rivet followed by 3 cube shaped rivets you could do that there.
Otherwiese, you can randomize them in the shader with the setup shown in the image. The “random” output of the particle info node outputs a random number between 0 and 1 for each particle. If you feed this into a color ramp every rivet gets a random color from within this node. Of course this does not only work with color but also with Roughness or other attribues. You could even randomze the size of a noise pattern or even more complex things.
With random objects chosen from a collection
Pattern created with objects from a collection