I found a lot of resources online that explain many different ways of doing this, lots of comments saying it worked for them, none of which worked for me. I even found a tutorial online that explained how to do this using a custom permission, which works, but not when the same users have to have different permissions to underlying objects in the site. So here’s a method that works at the Master Page level, is customizable, and doesn’t affect all underlying objects whether inherited or not.
Open up the desired site in SharePoint Designer and look in your Master Pages. Locate your desired master page (mine is v4, like most others). Many sites say not to alter the master page itself, but to make a copy. You can do that…..or revert to a previous version if you make a mistake. Open the file, then click Edit File.
Look for the following element in the code:
<SharePoint:UIVersionedContent UIVersion="4" runat="server" id="PlaceHolderQuickLaunchBottomV4">
Above the bold section, add the following line of code:
<Sharepoint:SPSecurityTrimmedControl runat="server" PermissionsString="ManagePermissions">
Change the blue PermissionsString value to whatever you want. Multiple permissions can be separated with a comma (no spaces). Note it should be a permission your target user(s) do not have, and has to come from this list. Spelling and case-sensitivity is important. Finally, add the closing tag after the SharePoint:UIVersionedContent closing tag:
Save your changes and test the results. Those with the correct permissions should be able to see the Recycle Bin and View All Site Content elements in the quick launch area at the bottom, everyone else should not.
Note: This WILL NOT remove View All Site Content from the drop down menu under Site Actions. To remove View All Site Content from the Site Actions drop down, in the same master page, go up towards the top and look for the following element:
Start scrolling through the MenuItemTemplate elements underneath this one, and look for the one with the id of “MenuItem_ViewAllSiteContents”.
<SharePoint:MenuItemTemplate runat="server" id="MenuItem_ViewAllSiteContents"
Notice the attribute I highlighted in blue? Change the value to be whatever you set it to in the previous code segment above and save your changes.
Hope this helps!