I have a SharePoint Online publishing site with a home page that contains an image from the "Images" document library. The "Visitors" group on the site has "Read" access to this document library. I've added "Everyone but external users" to the "Visitors" group. When one of the users goes to the home page they are unable to see the image and if they try to go to the image directly through the address bar they get an "Access Denied" message. However, if I give the "Visitors" group "Contribute" access to the "Images" document library then they are able to see the image on the home page.

It makes no sense to me, but why would I need to give them "Contribute" access just to be able to see the image? Why wouldn't "Read" access be enough?

  • Check versioning settings. Ensure that its set to Create major versions and Require content approval is set to No Commented Nov 1, 2017 at 16:48
  • @GautamSheth Require content approval was set to No but the other was set to Create major and minor versions. I'm assuming then that it was only a draft (minor version) that I was creating and so the other users could not see it because it wasn't published. It would be nice if SharePoint was smart enough to prevent me from publishing a page that links to unpublished content.
    – skeletank
    Commented Nov 1, 2017 at 20:31
  • That's correct. The draft versions are not visible to visitors. You need to publish those items. Commented Nov 2, 2017 at 7:21
  • @GautamSheth Can you please turn your comment into an answer so that I can accept it?
    – skeletank
    Commented Nov 2, 2017 at 12:39

1 Answer 1


The reason the images are not visible is because in your Images library, require Major and Minor version settings is turned on.

Because of that, whenever you first upload an image, it remains in draft state, visible only to admins, approvers and the uploader. It wont be available for users with read rights. To make it visible to all, you need to check in and publish the image.

To fix this issue, you can change the setting to Create major versions only. This will by default do away with need to check-in & publish each and every item uploaded and make it visible to users with read rights.

You dont need to modify the library permission settings or break inheritance for this.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.