Hi,
To add more –
For User restriction –
At the Profile level, you can specify CRUD access ( Create Read Update Delete) for each Standard Object, as well as Custom Objects.
If you don’t want Profile A to see ANY cases, you can remove the CRUD access to the Case object. Users with that profile will not be able to see ANY cases once you remove Read access.
If you want Profile A only to see SOME cases, but not all cases, they will need at least Read access to the Case object. You will then need to use Sharing Rules to define which users, profiles, and groups can see which cases.
For more information, go to Setup > Administration Setup > Security Controls > Sharing Settings.
Once you are on the Sharing Settings page, click the link in the top right that says “Help For This Page.” Salesforce.com has very helpful information for each page.
Hope this helps.