What you need first is to understand User Roles in WordPress.
Then a plugin to manage custom user roles, like User Role Editor or Members.
In the administrative menu Settings > General, set the default role when a user registers to your custom role:

The plugin Members has more advanced features, but case you were to use URE some extra functions would be necessary to block any access to the site backend. Here wrapped as a plugin, see comments for details.
<?php
/*
Plugin Name: Block Admin Access for Certain Roles
Version: 0.1
Author: brasofilo
Plugin URI: http://wordpress.stackexchange.com/q/57206/12615
*/
/*
* When a registered user tries to visit a page for which he doesn't have access,
* i.e.: http:/example.com/wp-admin/plugins.php,
* WordPress displays a standard WP error message.
* This will redirect instead of displaying the message:
* "You do not have sufficient permissions to access this page."
*/
add_action( 'admin_page_access_denied', 'wpse_57206_access_denied' );
function wpse_57206_access_denied()
{
wp_redirect(home_url());
exit();
}
/*
* Redirect users without 'edit_posts' capability if they try to access using an URL
* of an admin page that they would have capability to do
* i.e.: http:/example.com/wp-admin/profile.php
*/
add_action( 'admin_init', 'wpse_57206_admin_init' );
function wpse_57206_admin_init()
{
if( !current_user_can( 'edit_posts' ) )
{
wp_redirect( home_url() );
exit();
}
}
/*
* Redirect users with 'pending' and 'subscriber' roles to the home url
*/
add_filter( 'login_redirect', 'wpse_57206_login_redirect' );
function wpse_57206_login_redirect( $url )
{
global $user;
if ( in_array( $user->roles[0], array( 'pending', 'subscriber' ) ) )
{
$url = home_url();
}
return $url;
}
/*
* Hide the admin bar for users without 'edit_posts' capability
*/
add_filter( 'show_admin_bar', 'wpse51831_hide_admin_bar' );
function wpse51831_hide_admin_bar( $bool )
{
if( !current_user_can( 'edit_posts' ) )
{
$bool = false;
}
return $bool;
}
References: