# SELinux context for Git user on Fedora server?

2 messages from 2019-10-30 to 2019-10-30. Participants: Jeffrey Walton, Elijah Newren.
Thread: https://gitlist.dev/t/52153

## Jeffrey Walton, 2019-10-30 05:26

Subject: SELinux context for Git user on Fedora server?
Message-ID: <CAH8yC8=uGb3J+fvkSj7-gdhqy0vtQw90K-MWQ3T1TTMQzAJnJA@mail.gmail.com>
URL: https://gitlist.dev/e/CAH8yC8%3DuGb3J%2BfvkSj7-gdhqy0vtQw90K-MWQ3T1TTMQzAJnJA%40mail.gmail.com

```
Hi Everyone,

I'm trying to setup a Git server on Fedora 30 server with SELinux in
enforcing mode. I am following
https://git-scm.com/book/en/v2/Git-on-the-Server-Setting-Up-the-Server
.

At the push on the local machine:

  $ git push -v origin master
  Pushing to ssh://git@euclid:/var/callboot/source.git
  Enter passphrase for key ...
  fatal: '/var/callboot/source.git' does not appear to be a git repository
  fatal: Could not read from remote repository.
  ...

I suspect the SELinux labels for /var/callboot/source.git are not
quite right. Right now it looks as follows. httpd_sys_content_t is
typical for a web server and I think it needs to be something else.

  # ls -Z /var/callboot/source.git
  unconfined_u:object_r:httpd_sys_content_t:s0 branches
  unconfined_u:object_r:httpd_sys_content_t:s0 config
  unconfined_u:object_r:httpd_sys_content_t:s0 description
  unconfined_u:object_r:httpd_sys_content_t:s0 HEAD
  unconfined_u:object_r:httpd_sys_content_t:s0 hooks
  unconfined_u:object_r:httpd_sys_content_t:s0 info
  unconfined_u:object_r:httpd_sys_content_t:s0 objects
  unconfined_u:object_r:httpd_sys_content_t:s0 refs

What should the SELinux labels be for the Git user?

Thanks in advance.

```

## Elijah Newren, 2019-10-30 06:34

Subject: Re: SELinux context for Git user on Fedora server?
Message-ID: <CABPp-BFzAYmaQ5J0nnN9930UC5kJ1=qyvUJxL0oJNixLX3XQCQ@mail.gmail.com>
URL: https://gitlist.dev/e/CABPp-BFzAYmaQ5J0nnN9930UC5kJ1%3DqyvUJxL0oJNixLX3XQCQ%40mail.gmail.com
In-Reply-To: <CAH8yC8=uGb3J+fvkSj7-gdhqy0vtQw90K-MWQ3T1TTMQzAJnJA@mail.gmail.com>

```
Hi,

On Tue, Oct 29, 2019 at 10:30 PM Jeffrey Walton <noloader@gmail.com> wrote:
>
> Hi Everyone,
>
> I'm trying to setup a Git server on Fedora 30 server with SELinux in
> enforcing mode. I am following
> https://git-scm.com/book/en/v2/Git-on-the-Server-Setting-Up-the-Server
> .
>
> At the push on the local machine:
>
>   $ git push -v origin master
>   Pushing to ssh://git@euclid:/var/callboot/source.git

So you're using ssh...

>   Enter passphrase for key ...
>   fatal: '/var/callboot/source.git' does not appear to be a git repository
>   fatal: Could not read from remote repository.
>   ...
>
> I suspect the SELinux labels for /var/callboot/source.git are not
> quite right. Right now it looks as follows. httpd_sys_content_t is
> typical for a web server and I think it needs to be something else.
>
>   # ls -Z /var/callboot/source.git
>   unconfined_u:object_r:httpd_sys_content_t:s0 branches
>   unconfined_u:object_r:httpd_sys_content_t:s0 config
>   unconfined_u:object_r:httpd_sys_content_t:s0 description
>   unconfined_u:object_r:httpd_sys_content_t:s0 HEAD
>   unconfined_u:object_r:httpd_sys_content_t:s0 hooks
>   unconfined_u:object_r:httpd_sys_content_t:s0 info
>   unconfined_u:object_r:httpd_sys_content_t:s0 objects
>   unconfined_u:object_r:httpd_sys_content_t:s0 refs
>
> What should the SELinux labels be for the Git user?

They should be whatever is needed to access via ssh.  I think that's
something like 'ssh_home_t' (sorry, haven't fought SELinux and SSH for
a few years now), but the question isn't really anything to do with
Git but of the combination of SELinux and SSH.


Hope that helps,
Elijah

```
