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 If users require a different login shell,
41 .Nm
42 can be installed in the command search patch under the names
43 .Cm git-receive-pack
44 and
45 .Cm git-upload-pack .
46 .Pp
47 The users can then interact with
48 .Xr gotd 8
49 over the network.
50 When users invoke commands such as
51 .Cm got send
52 and
53 .Cm got fetch
54 on client machines,
55 .Xr got 1
56 will connect to the server with
57 .Xr ssh 1 .
58 .Nm
59 will facilitate communication between
60 .Xr gotd 8
61 running on the server machine and the
62 .Xr got 1
63 or
64 .Xr git 1
65 program running on the client machine.
66 .Pp
67 Users running
68 .Nm
69 must be members of the group which has read/write permission to the
70 .Xr gotd 8
71 unix socket.
72 The group used for this purpose can be configured in
73 .Xr gotd.conf 5 .
74 Users running
75 .Nm
76 should not have access to Git repositories by means other than
77 accessing the unix socket of
78 .Xr gotd 8
79 via
80 .Nm .
81 .Pp
82 It is recommended to restrict
83 .Xr ssh 1
84 features available to users of
85 .Nm .
86 See the EXAMPLES section for details.
87 .Sh ENVIRONMENT
88 .Bl -tag -width GOTD_UNIX_SOCKET
89 .It Ev GOTD_UNIX_SOCKET
90 Set the path to the unix socket which
91 .Xr gotd 8
92 is listening on.
93 If not specified, the default path
94 .Pa /var/run/gotd.sock
95 will be used.
96 .El
97 .Sh EXAMPLES
98 The following
99 .Xr sshd_config 5
100 directives are recommended to protect the server machine and any systems
101 reachable from it via
102 .Xr ssh 1
103 forwarding features.
104 This example assumes the group called
105 .Dq _gotsh
106 has read/write access to the
107 .Xr gotd 8
108 unix socket.
109 .Bd -literal -offset indent
110 Match Group _gotsh
111 DisableForwarding
112 PermitTTY no
113 .Sh SEE ALSO
114 .Xr got 1 ,
115 .Xr ssh 1 ,
116 .Xr gotd.conf 5 ,
117 .Xr sshd_config 5 ,
118 .Xr gotd 8
119 .Sh AUTHORS
120 .An Stefan Sperling Aq Mt stsp@openbsd.org