Users accessing multpile networks

Can anyone help me figure this out? I want to create several networks:

1. Site 1
2. Site 2
3. Site 3

I want members of site 1 to be able to access some content from site 2. I also want site 1 members to make friends with members of site 2.

I want Site 3 users to be able to access site 1 and site 2 content, etc...

How would I set this up? How would I control which members get access to which content and site specific content?