to restrict on the back-end you can use the default author role.
and on the front-end you ca use something like:
function check_rights_8876(){
global $post,$current_user;
$author_id=$post->post_author;
get_currentuserinfo();
if ( is_user_logged_in() ) {
if ( current_user_can('manage_options') ){// admin
return true;
}
if ($author_id = $current_user->ID ){// curent post author
return true;
}
}
return false;
}
Once you have this function defined you can check before displaying the post like this:
if (check_rights_8876()){
//display the post
}
else{
//Sorry but you don't have rights to access this post massage here
}
Hope this helps