Users cannot generally create content everywhere in the repository. They get permission either because it is their home directory, the shared folder, or it is a site for which they have a role that gives them permission.
You can create custom permission schemes and custom roles. The best tutorial for that is probably the old one in the Alfresco Developer Guide book; I don't think that has changed much in years. But there is information on this topic scattered around the docs, wiki, and forums.