How to make sharepoint 2010 site as readonly.
It should not be applicable for custom administrator group,Except the administrator group other group will get the site as readonly.
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It only takes a minute to sign up.Sign up to join this community
I think you should specify if "by site" you mean actually a sub-site as in SPWeb or a site collection, as in SPSite. If a Site Collection, simply Lock-it by setting it to Read Only, which shall be valid across the whole site Collection (no edits though, for Site Collection Admin neither).
If you are more in the 2nd situation, where a business need requires it, then indeed a custom permission Level (where you strip off required permissions) would give you flexibility and it must be defined at the Site Collection level. If you need to add more dynamic, use SharePoint Designer Workflow to assign these permissions to users (no-code required). Otherwise, go for code, where options multiply exponentially, depending on your exact needs.
The OOB way to do this is to lock the site through Central Administration > Site Collections > Configure Quotas and Locks > Site Lock Information
Here you can either
Adding content prevented to prevent users from adding new content to the site collection. Updates and deletions are still allowed.
Read-only (blocks additions, updates, and deletions) to prevent users from adding, updating, or deleting content.
No access to prevent users from accessing the site collection and its content. Users who attempt to access the site receive an error.
This is the way SharePoint itself locks access when it takes backups.
More information on locking here.
If this is too restrictive, consider creating a Deny Write policy on your web application. This will overwrite whatever permissions that have been given to the specified users in the site collection. Read more on policies here.