Is there outside the entrance to block a dashboard for non-admin users a way only to block the Dashboard link and allow changing their profile as password? In example for only subscriber.
function blockuser_init_redirect(){
if( is_admin() && !defined('DOING_AJAX') && ( current_user_can('subscriber') || current_user_can('contributor') ) ){
wp_redirect(home_url());
exit;
}
}
add_action('init','blockuser_init_redirect');