gitlab-org--gitlab-foss/doc/public_access/public_access.md

60 lines
1.9 KiB
Markdown
Raw Normal View History

2014-05-27 08:12:15 -04:00
# Public access
GitLab allows you to change your projects' visibility in order be accessed
**publicly** or **internally**.
2014-04-24 18:48:22 -04:00
Projects with either of these visibility levels will be listed in the
public access directory (`/public` under your GitLab instance).
Here is the [GitLab.com example](https://gitlab.com/public).
2014-04-24 18:48:22 -04:00
Internal projects will only be available to authenticated users.
## Visibility of projects
### Public projects
2014-04-24 18:48:22 -04:00
Public projects can be cloned **without any** authentication.
2014-04-24 18:48:22 -04:00
They will also be listed on the public access directory (`/public`).
2014-04-24 18:48:22 -04:00
**Any logged in user** will have [Guest](../permissions/permissions)
permissions on the repository.
### Internal projects
2014-04-24 18:48:22 -04:00
Internal projects can be cloned by any logged in user.
2014-04-24 18:48:22 -04:00
They will also be listed on the public access directory (`/public`) for logged
in users.
2014-04-24 18:48:22 -04:00
Any logged in user will have [Guest](../permissions/permissions) permissions on
the repository.
### How to change project visibility
2014-04-24 18:48:22 -04:00
1. Go to your project's **Settings**
1. Change "Visibility Level" to either Public, Internal or Private
2014-04-24 18:48:22 -04:00
## Visibility of users
The public page of a user, located at `/u/username`, is always visible whether
you are logged in or not.
When visiting the public page of a user, you can only see the projects which
you are privileged to.
## Visibility of groups
The public page of a group, located at `/groups/groupname`, is always visible
to everyone.
Logged out users will be able to see the description and the avatar of the
group as well as all public projects belonging to that group.
2014-04-24 18:48:22 -04:00
## Restricting the use of public or internal projects
In the Admin area under **Settings** (`/admin/application_settings`), you can
restrict the use of visibility levels for users when they create a project or a
snippet. This is useful to prevent people exposing their repositories to public
by accident. The restricted visibility settings do not apply to admin users.