This file is indexed.

/usr/share/doc/monotone/html/Basic-Network-Service.html is in monotone-doc 1.0-12.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
<title>monotone documentation: Basic Network Service</title>

<meta name="description" content="monotone documentation: Basic Network Service">
<meta name="keywords" content="monotone documentation: Basic Network Service">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="General-Index.html#General-Index" rel="index" title="General Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Tutorial.html#Tutorial" rel="up" title="Tutorial">
<link href="Synchronising-Databases.html#Synchronising-Databases" rel="next" title="Synchronising Databases">
<link href="Committing-Work.html#Committing-Work" rel="prev" title="Committing Work">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>
<link rel="stylesheet" type="text/css" href="texinfo.css">


</head>

<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Basic-Network-Service"></a>
<div class="header">
<p>
Next: <a href="Synchronising-Databases.html#Synchronising-Databases" accesskey="n" rel="next">Synchronising Databases</a>, Previous: <a href="Committing-Work.html#Committing-Work" accesskey="p" rel="prev">Committing Work</a>, Up: <a href="Tutorial.html#Tutorial" accesskey="u" rel="up">Tutorial</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="General-Index.html#General-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Basic-Network-Service-1"></a>
<h3 class="section">2.8 Basic Network Service</h3>

<p>Jim now decides he will make his base revision available to his
employees.  To do this, he arranges for Abe and Beth to synchronise
their databases with his, over the network.  There are two
pre-requisites for this: first, he has to get a copy of each of their
public keys; then, he has to tell monotone that the holders of those
keys are permitted to access his database. Finally, with these
pre-requisites in place, he needs to tell monotone to provide network
access to his database.
</p>
<p>First, Abe exports his public key:
</p>
<div class="smallexample">
<pre class="smallexample">$ mtn --db=~/abe.mtn pubkey abe@juicebot.co.jp &gt;~/abe.pubkey
</pre></div>

<p>His public key is just a plain block of ASCII text:
</p>
<div class="smallexample">
<pre class="smallexample">$ cat ~/abe.pubkey
[pubkey abe@juicebot.co.jp]
MIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQCbaVff9SF78FiB/1nUdmjbU/TtPyQqe/fW
CDg7hSg1yY/hWgClXE9FI0bHtjPMIx1kBOig09AkCT7tBXM9z6iGWxTBhSR7D/qsJQGPorOD
DO7xovIHthMbZZ9FnvyB/BCyiibdWgGT0Gtq94OKdvCRNuT59e5v9L4pBkvajb+IzQIBEQ==
[end]
</pre></div>

<p>Beth also exports her public key:
</p>
<div class="smallexample">
<pre class="smallexample">$ mtn --db=:beth pubkey beth@juicebot.co.jp &gt;~/beth.pubkey
</pre></div>

<p>Then Abe and Beth both send their keys to Jim.  The keys are not secret,
but the team members must be relatively certain that they are exchanging
keys with the person they intend to trust, and not some malicious person
pretending to be a team member. Key exchange may involve sending keys
over an encrypted medium, or meeting in person to exchange physical
copies, or any number of techniques. All that matters, ultimately, is
that Jim receives both Abe&rsquo;s and Beth&rsquo;s key in a way that he can be sure
of.
</p>
<p>So eventually, after key exchange, Jim has the public key files in his
home directory. He tells monotone to read the associated key packets
into his database:
</p>
<div class="smallexample">
<pre class="smallexample">$ cat ~/abe.pubkey ~/beth.pubkey | mtn --db=~/jim.mtn read
mtn: read 2 packets
</pre></div>

<p>Now Jim&rsquo;s monotone is able to identify Beth and Abe, and he is ready to
give them permission to access his database.  He does this by editing a
pair of small files in his <samp>~/.monotone</samp> directory:
</p>
<div class="smallexample">
<pre class="smallexample">$ cat &gt;&gt;~/.monotone/read-permissions
pattern &quot;*&quot;
allow &quot;abe@juicebot.co.jp&quot;
allow &quot;beth@juicebot.co.jp&quot;
^D

$ cat &gt;&gt;~/.monotone/write-permissions
abe@juicebot.co.jp
beth@juicebot.co.jp
^D
</pre></div>

<p>These files are read by the default monotone hooks that will decide
whether remote monotone users will be allowed access to Jim&rsquo;s database,
identified by the named keys.
</p>
<p>Jim then makes sure that his TCP port 4691 is open to incoming
connections, adjusting his firewall settings as necessary, and runs
the monotone <code>serve</code> command:
</p>
<div class="smallexample">
<pre class="smallexample">$ mtn --db=jim.mtn serve
</pre></div>

<p>This command starts monotone listening on all network interfaces of
his laptop on the default port 4691, serving everything in his database.
</p>
<hr>
<div class="header">
<p>
Next: <a href="Synchronising-Databases.html#Synchronising-Databases" accesskey="n" rel="next">Synchronising Databases</a>, Previous: <a href="Committing-Work.html#Committing-Work" accesskey="p" rel="prev">Committing Work</a>, Up: <a href="Tutorial.html#Tutorial" accesskey="u" rel="up">Tutorial</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="General-Index.html#General-Index" title="Index" rel="index">Index</a>]</p>
</div>



</body>
</html>