Blob


1 .\"
2 .\" Copyright (c) 2022 Stefan Sperling
3 .\"
4 .\" Permission to use, copy, modify, and distribute this software for any
5 .\" purpose with or without fee is hereby granted, provided that the above
6 .\" copyright notice and this permission notice appear in all copies.
7 .\"
8 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 .\"
16 .Dd $Mdocdate$
17 .Dt GOTSH 1
18 .Os
19 .Sh NAME
20 .Nm gotsh
21 .Nd Game of Trees Shell
22 .Sh SYNOPSIS
23 .Nm Fl c Sq Cm git-receive-pack Ar repository-path
24 .Nm Fl c Sq Cm git-upload-pack Ar repository-path
25 .Sh DESCRIPTION
26 .Nm
27 is the network-facing interface to
28 .Xr gotd 8 .
29 It implements the server-side part of the Git network protocol used by
30 .Xr git 1
31 and
32 .Xr got 1 .
33 .Pp
34 .Nm
35 is not an interactive shell.
36 .Nm
37 is intended to be configured as the login shell of Git repository
38 user accounts on servers running
39 .Xr gotd 8 .
40 The users can then interact with
41 .Xr gotd 8
42 over the network.
43 When users invoke commands such as
44 .Cm got send
45 and
46 .Cm got fetch
47 on client machines,
48 .Xr got 1
49 will connect to the server with
50 .Xr ssh 1 .
51 .Nm
52 will facilitate communication between
53 .Xr gotd 8
54 running on the server machine and the
55 .Xr got 1
56 or
57 .Xr git 1
58 program running on the client machine.
59 .Pp
60 Users running
61 .Nm
62 must be members of the group which has read/write permission to the
63 .Xr gotd 8
64 unix socket.
65 The group used for this purpose can be configured in
66 .Xr gotd.conf 5 .
67 Users running
68 .Nm
69 should not have access to Git repositories by means other than
70 accessing the unix socket of
71 .Xr gotd 8
72 via
73 .Nm .
74 .Pp
75 It is recommended to restrict
76 .Xr ssh 1
77 features available to users of
78 .Nm .
79 See the EXAMPLES section for details.
80 .Sh ENVIRONMENT
81 .Bl -tag -width GOTD_UNIX_SOCKET
82 .It Ev GOTD_UNIX_SOCKET
83 Set the path to the unix socket which
84 .Xr gotd 8
85 is listening on.
86 If not specified, the default path
87 .Pa /var/run/gotd.sock
88 will be used.
89 .El
90 .Sh EXAMPLES
91 The following
92 .Xr sshd_config 5
93 directives are recommended to protect the server machine and any systems
94 reachable from it via
95 .Xr ssh 1
96 forwarding features.
97 This example assumes the group called
98 .Dq _gotsh
99 has read/write access to the
100 .Xr gotd 8
101 unix socket.
102 .Bd -literal -offset indent
103 Match Group _gotsh
104 DisableForwarding
105 PermitTTY no
106 .Sh SEE ALSO
107 .Xr got 1 ,
108 .Xr ssh 1 ,
109 .Xr gotd.conf 5 ,
110 .Xr sshd_config 5 ,
111 .Xr gotd 8
112 .Sh AUTHORS
113 .An Stefan Sperling Aq Mt stsp@openbsd.org