How can I achieve this vintage color tone in Photoshop?
A Curves adjustment layer gives you ultimate flexibility.
Edit each channel individually:
Red: raise the bottom left point.
Green: make a new point in the center and drop it slightly.
Blue: raise the bottom left point and lower the top right point, then make a new point at the center and drop it slightly.
Experiment with the opacity of the adjustment layer to vary the intensity of the effect.
Use the brightness/contrast tool to reduce contrast, then use the colour balance tool and drag the highlights toward yellow and red, and the shadows toward cyan and blue.
I would also recommend using a gradient map adjustment layer, you could even import that image and sample the colors to get you closer to where you want to be.
Download a texture, wall or something rugged and copy the texture over your photo in photoshop as a new layer and set the blending mode of the texture to overlay or softlight. you can get here many free textures http://www.paper-backgrounds.com
You might as well want to look for an effect called "cross processing". Although I am aware it is not totally the effect of your example picture, but the principle is the same.