How do I allow certain users to make a certain type of post?

The following will assign capability requirements to your CPT. So, users will require edit_community, delete_community etc capabilities to perform those actions.

function createCommunityPostType() {
    $args = array(
            'public' => true,
            'label' => 'Community'
            'capability_type' => 'community',
            'map_meta_cap' => true
    );
    register_post_type('community', $args );
}
add_action('init', 'createCommunityPostType');

See the parts about capabilities in the codex.

You also need to assign these caps to your users. You could use a plugin for this (see the members plugin), or you can do it yourself:

function my_after_setup_theme() {

    $role = get_role( 'subscriber' );
    $caps_set = get_option( 'my_caps_set' );
    if ( !$caps_set ) {
        $role->add_cap( 'edit_community' );
        $role->add_cap( 'read_community' );
        $role->add_cap( 'delete_community' );
        // ... and so forth (see codex for caps list)

        update_option( 'my_caps_set', true );
    }
}

add_action( 'after_setup_theme', 'my_after_setup_theme' );

We set a settings flag to save from resetting the caps more than once.

the above code assumes you want to assign these caps to subscribers, but you can change this to any role, or create your own role.