The knowledge of reports and dashboard sharing is a must for all admins who want to show and enable the right reports for their users. Below you will find a table that I use as a guide to setup the sharing model (I have illustrated for reports, while the same permissions exist for dashboards).

User profile permission               What that will do

Text from the image above:

  1. Run report: Run report in ‘my‘ (private) folder/’unified public folder‘/’shared‘ folder with at least ‘viewer access’
  2. Create and customize reports: 1 + create, edit and delete ‘my‘ report in ‘my‘ (private) folder/ create, edit and delete ‘my‘ report ‘unified public folder‘ folder/ only createmy‘ report in ‘shared‘ folder with ‘viewer access‘/ create, edit and delete ‘my‘ report in ‘shared‘ folder with at least ‘editor access
  3. Create report folders: <as the name suggests>
  4. Edit my reports: 2 + create, edit and delete ‘my‘ report in ‘shared‘ folder even with ‘viewer access
  5. View reports in Public folder: Run ‘any‘ report in ‘shared‘ folder with ‘no access
  6. Manage reports in Public folder: create, edit and delete  ‘any‘ report in ‘shared‘ folder with ‘no access‘/change sharing settings of the report folder
  7. View all data: Run ‘any‘ report in ‘shared‘ folder with ‘no access‘/ Edit dashboard running user

Salesfore References:
User Profile Permissions for Sharing Reports and Dashboards
Report and Dashboard Folders sharing access levels

Hope this was useful.