Drupal 'Access Denied' on all pages

Ran into an interesting little snag this morning - a client's Drupal site was spitting out "Access Denied" errors for all page loads by anonymous users. It didn't appear to be a permissions problem - the nodes just wouldn't let anyone look at them.

A bit of Googling found a bunch of posts like this that say that, for some mysterious reason, Drupal can lose the contents of the node_access table and you need to repopulate them.

INSERT  INTO  node_access
  (nid ,gid ,realm ,grant_view, grant_update , grant_delete)
  VALUES ( '0',  '0',  'all',  '1',  '0',  '0')

Unfortunately, I didn't exactly have access to the client's database. A bit of poking around in the source showed me that visiting /admin/content/node-settings/rebuild would fire off an internal process to do the same thing.

Crisis averted, fix discovered. I just hope I don't need to use it again in the future.

Filed under: 


Thanks for this! After unsuccessfully trying multiple other fixes, this was the one that saved our site!

Much appreciated.


Awesome! Thank you. Yet another entry into my massive little Drupal quirks file. I really start to wonder at times how much time I'm saving with Drupal when you take into account the hours scouring the interweb to try and find solutions to its... features. Yawn.


Thank you Dude...! I am just angry I didn't find you 6hours earlier....I lost that hours, but finally I google you and fixed it in 2minutes.... You are a MAN ! Zeno


Thank you!


Thanks. We've been wrestling with intermittent permissions issues for a few weeks now (and rebuilding permissions would lead to all anonymous users being denied access to all pages). This fixed it. I hope it sticks. :)


hey you just saved me from a loss. Today morning i ran into similar problem. Thank god your solution was there to save me. You are just an angel to me.


Thank you thank you thank you....I nearly cried before I found this post.


I implemented your solution by visiting /admin/content/node-settings/rebuild as you suggested. The result, which took about five seconds, repopulated the contents of the node_access table.


Thank you, thank you, thank you, thank you, thank you..... You get the point.


Thank you for solution. Helped ALOT. Now I can soon go to sleep :]


Thank you so much, this solved my problem.
If you had a paypal donation button, I would have paid you a beer.
Thanks mate


thanx for this post, you saved my life, btw for me it happend when the quota of database was exeeded


Thank you SO much for posting this solution..... you saved our skin! So happy now. :)


I ran into this exact issue and got everything working again thanks to your assistance!


Thx! Saved the day!


Was searching for a day... I lost my contents after using cache....
Didn't see thois ioption in the back office.
your tips solved everything.
just a word, thanks a lot.


Like all before me, a GIANT THANK YOU, You saved my day from becoming shitty with this strange darn issue. I already saw the hours that I'm going to spend on this, but now I'm not, thanks to you! :)

Elegant and quick solution!

About the Author

Interested? Let's talk.