Is there a known way to restrict access to some users related to specific areas of setup? For example, i want user A to see only users and profiles, but not to be able to see objects, fields, custom settings etc. I want user B to be able to see objects, fields etc, but not users. How could this be applied ?
To allow particular profile user's to see all the users in the org, profile requires View and Manage Users permission which requires View Setup and Configuration permission on the profile level. Once you given the view setup and configuration to the profile, it will allow the profile to do many other things to do which you do not want.
Read all the permission that you can control here:- User Profile permission descriptions