How to set individual fields permission on content type fields based on roles using field permssion
Field permissions do not add permissions, but only take permissions away.

If a user is not allowed to edit a node, giving him the permission to edit a field won't work. Instead you must give him permission to edit all nodes (of a certain type) and deny access to all field he may not edit. (and yes that can be a struggle if you add fields in the future)