Social links for each user
For the profile part, you can just use the profile2 module. It allows you to add any kind of field to user profiles. Install it, enable it, clear caches, and go to structure > profile types.  For the actual fields, you might want to use the url field module, to enable validation of urls, etc. You can then create all the url fields you want, and give them appropriate names, like "facebook page", "twitter page" etc.

To display a block on nodes authored by the user, you could do the following:


Create a view of profiles. 
Create a block display for the view
Choose fields (your social media link fields)  
Click on advanced and then "contextual filter"  
Add "profile: user uid" as a contextual filter and click 'apply'  
Under "When the filter value is NOT in the url", select "Provide default value"
Select "PHP code"  
Paste in the following PHP:

$node = menu_get_object();
return $node->uid;
Click "apply" and then save your view.


You can now add your block to the content types your users are allowed to create.