In addition to running any job (but may want to restrict that as per job), I would like my user to be able to add/modify new jobs but not modify or delete other users' jobs. I went into security setting but didn't see anything that would do that.
This plugin will help you reach that.
Other thing that may help you is a feature already in jenkins, no plugins necessary! In the Configure Global Security section in Manage Jenkins, click "Project-based matrix authorization strategy". Then you can configure permissions in the job configure screen for that particular job by clicking "enable project-based security".
Now you can configure your Jenkins so that "Joe can access project A, B, and C but he can't see D".
Got this Second Answer from https://stackoverflow.com/a/31483908/5617856