This file is indexed.

/usr/share/doc/caspar/csp_helper.html is in caspar-doc 20140919-1.

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
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Copyright (c) 2014 Joost van Baal-Ilić -->
<head>
<meta name="keywords" content="manual">
<style type="text/css">
/* START aephea.base.css */
body
{ text-align: justify;
margin-left: 0%;
margin-right: 0%;
}
a:link { text-decoration: none; }
a:active { text-decoration: none; }
a:visited { text-decoration: none; }
a:link { color: #1111aa; }
a:active { color: #1111aa; }
a:visited { color: #111166; }
a.local:link { color: #11aa11; }
a.local:active { color: #11aa11; }
a.local:visited { color: #116611; }
a.intern:link { color: #1111aa; }
a.intern:active { color: #1111aa; }
a.intern:visited { color: #111166; }
a.extern:link { color: #aa1111; }
a.extern:active { color: #aa1111; }
a.extern:visited { color: #661111; }
a.quiet:link { color: black; }
a.quiet:active { color: black; }
a.quiet:visited { color: black; }
div.verbatim
{ font-family: monospace;
margin-top: 1em;
margin-bottom: 1em;
font-size: 10pt;
margin-left: 2em;
white-space: pre;
}
div.indent
{ margin-left: 8%;
margin-right: 0%;
}
.right { text-align: right; }
.left { text-align: left; }
.nowrap { white-space: nowrap; }
.item_leader
{ position: relative;
margin-left: 8%;
}
.item_compact { position: absolute; vertical-align: baseline; }
.item_cascade { position: relative; }
.item_leftalign { text-align: left; }
.item_rightalign
{ width: 2em;
text-align: right;
}
.item_compact .item_rightalign
{ position: absolute;
width: 52em;
right: -2em;
text-align: right;
}
.item_text
{ position: relative;
margin-left: 3em;
}
.smallcaps { font-size: smaller; text-transform: uppercase }
/* END aephea.base.css */
body { font-family: "Garamond", "Gill Sans", "Verdana", sans-serif; }
body
{ text-align: justify;
margin-left: 8%;
margin-right: 8%;
}
</style>
<title>csp_helper</title>
</head>
<body>
<p style="text-align:right">
19 Sep 2014&nbsp;&nbsp;&nbsp;
<a class="local" href="csp_helper.ps"><b>csp_helper</b></a>
20140919
</p>
<div class=" itemize " style="margin-top:1em; font-size:100%">
<div class=" item_compact"><div class=" item_rightalign nowrap " style="right:-3em">1.</div></div>
<div class=" item_text " style="margin-left:4em">
<a class="intern" href="#name">NAME</a>
</div>
<div class=" item_compact"><div class=" item_rightalign nowrap " style="right:-3em">2.</div></div>
<div class=" item_text " style="margin-left:4em">
<a class="intern" href="#synopsis">SYNOPSIS</a>
</div>
<div class=" item_compact"><div class=" item_rightalign nowrap " style="right:-3em">3.</div></div>
<div class=" item_text " style="margin-left:4em">
<a class="intern" href="#description">DESCRIPTION</a>
</div>
<div class=" item_compact"><div class=" item_rightalign nowrap " style="right:-3em">4.</div></div>
<div class=" item_text " style="margin-left:4em">
<a class="intern" href="#install_description">install DESCRIPTION</a>
</div>
<div class=" item_compact"><div class=" item_rightalign nowrap " style="right:-3em">5.</div></div>
<div class=" item_text " style="margin-left:4em">
<a class="intern" href="#install_examples">install EXAMPLES</a>
</div>
<div class=" item_compact"><div class=" item_rightalign nowrap " style="right:-3em">6.</div></div>
<div class=" item_text " style="margin-left:4em">
<a class="intern" href="#install_environment">install ENVIRONMENT</a>
</div>
<div class=" item_compact"><div class=" item_rightalign nowrap " style="right:-3em">7.</div></div>
<div class=" item_text " style="margin-left:4em">
<a class="intern" href="#mkdircp_description">mkdircp DESCRIPTION</a>
</div>
<div class=" item_compact"><div class=" item_rightalign nowrap " style="right:-3em">8.</div></div>
<div class=" item_text " style="margin-left:4em">
<a class="intern" href="#scp_keep_mode_description">scp_keep_mode DESCRIPTION</a>
</div>
<div class=" item_compact"><div class=" item_rightalign nowrap " style="right:-3em">9.</div></div>
<div class=" item_text " style="margin-left:4em">
<a class="intern" href="#scp_keep_mode_examples">scp_keep_mode EXAMPLE</a>
</div>
<div class=" item_compact"><div class=" item_rightalign nowrap " style="right:-3em">10.</div></div>
<div class=" item_text " style="margin-left:4em">
<a class="intern" href="#scp_keep_mode_environment">scp_keep_mode ENVIRONMENT</a>
</div>
<div class=" item_compact"><div class=" item_rightalign nowrap " style="right:-3em">11.</div></div>
<div class=" item_text " style="margin-left:4em">
<a class="intern" href="#sucp_description">sucp DESCRIPTION</a>
</div>
<div class=" item_compact"><div class=" item_rightalign nowrap " style="right:-3em">12.</div></div>
<div class=" item_text " style="margin-left:4em">
<a class="intern" href="#sucp_examples">sucp EXAMPLES</a>
</div>
<div class=" item_compact"><div class=" item_rightalign nowrap " style="right:-3em">13.</div></div>
<div class=" item_text " style="margin-left:4em">
<a class="intern" href="#author">AUTHOR</a>
</div>
<div class=" item_compact"><div class=" item_rightalign nowrap " style="right:-3em">14.</div></div>
<div class=" item_text " style="margin-left:4em">
<a class="intern" href="#seealso">SEE ALSO</a>
</div>
</div>

<a name="name"></a>
<h2>NAME</h2>
<p style="margin-bottom:0" class="asd_par">
csp_helper &mdash; A collection of caspar helper scripts</p>

<a name="synopsis"></a>
<h2>SYNOPSIS</h2>
<b>csp_install</b> <a class="intern" href="#optdir"><b>dir</b> (<i>directory</i>)</a> <a class="intern" href="#optfile"><b>file</b> (<i>file</i>)</a>
<p style="margin-bottom:0" class="asd_par">
<b>csp_mkdircp</b> <a class="intern" href="#optdir"><b>dir</b> (<i>directory</i>)</a> <a class="intern" href="#optfile"><b>file</b> (<i>file</i>)</a>
</p> <p style="margin-bottom:0" class="asd_par">
<b>csp_scp_keep_mode</b> <a class="intern" href="#opth"><b>h</b> (<i>[user@]host</i>)</a> <a class="intern" href="#optdir"><b>dir</b> (<i>directory</i>)</a> <a class="intern" href="#optfile"><b>file</b> (<i>file</i>)</a>
</p> <p style="margin-bottom:0" class="asd_par">
<b>csp_sucp</b>
<a class="intern" href="#opth"><b>h</b> (<i>[user@]host</i>)</a>
<a class="intern" href="#optdir"><b>dir</b> (<i>directory</i>)</a>
<a class="intern" href="#optfile"><b>file</b> (<i>file</i>)</a>
</p>

<a name="description"></a>
<h2>DESCRIPTION</h2>
The scripts <b>csp_install</b>, <b>csp_mkdircp</b>, <b>csp_scp_keep_mode</b> and <b>csp_sucp</b> are helpers for
<a class="local sibling" href="caspar.html">caspar(7)</a>. These scripts typically are not invoked directly,
but via a Makefile which uses <b>caspar</b>. See the notes on csp_PUSH in
<a class="local sibling" href="caspar.html">caspar(7)</a> for information on how to link <b>csp_install</b>,
<b>csp_scp_keep_mode</b> and <b>csp_sucp</b> to <b>caspar</b>.

<a name="install_description"></a>
<h2>install DESCRIPTION</h2>
<b>csp_install</b> creates the required directory (if needed) and installs the file,
preserving timestamps. It uses install(1).

<a name="install_examples"></a>
<h2>install EXAMPLES</h2>
<div class="verbatim">
 csp_INSTALL_OPTIONS='--owner=www-data --group=www-data' \
  csp_INSTALL_MODE=ugo=r \
  csp_install /srv/www index.html</div>
<div class="verbatim">
 csp_INSTALL_MODE=u=rwx,go= csp_install /usr/local/sbin mkpasswd</div>

<a name="install_environment"></a>
<h2>install ENVIRONMENT</h2>
<b>csp_install</b> honors csp_INSTALL_OPTIONS and csp_INSTALL_MODE (default is
u=rw,go=r).

<a name="mkdircp_description"></a>
<h2>mkdircp DESCRIPTION</h2>
<b>csp_mkdircp</b> calls mkdir(1) and cp(1).
<b>csp_mkdircp</b> is used like csp_CP. use <b>csp_mkdircp</b> if you frequently have to
bootstrap installation on a fresh system, on which needed directories don't
exist yet. <b>csp_mkdircp</b> makes sure the target directory exists before calling
cp(1), by calling mkdir -p first.

<a name="scp_keep_mode_description"></a>
<h2>scp_keep_mode DESCRIPTION</h2>
<b>csp_scp_keep_mode</b> uses ssh to copy a file to a remote host, keeping its file
permission mode. The trick used is a combination of mktemp(1) and mv(1).
Useful if you'd like to be sure a file gets installed e.g. group writable,
without fiddling with permission bits on the remote host.

<a name="scp_keep_mode_examples"></a>
<h2>scp_keep_mode EXAMPLE</h2>
<div class="verbatim">
  chmod g+w rc
  csp_scp_keep_mode root@gandalf /etc/uruk rc</div>

<a name="scp_keep_mode_environment"></a>
<h2>scp_keep_mode ENVIRONMENT</h2>
<b>csp_scp_keep_mode</b> honors csp_SSH ("ssh" by default).

<a name="sucp_description"></a>
<h2>sucp DESCRIPTION</h2>
<b>csp_sucp</b> calls tar(1) from within sudo(1) from within ssh(1). This allows one
to copy files to accounts on hosts one can only reach by calling sudo on the
ssh-reachable remote host.
<p style="margin-bottom:0" class="asd_par">
Typically, one wants to install a root-owned file, but one does not want to
allow access to the root-account directly from ssh. Typically sudo is used as
an extra line of defense.
</p>
<p style="margin-bottom:0" class="asd_par">NB: if your sudo prompts for a password, be sure to have line
<div class="verbatim">
  Defaults !tty_tickets</div>
in your sudoers file: we first call sudo -v, than we call sudo to write the
data. Since we use ssh to get to the host, we'll use a different tty for both
sudo calls.
</p>

<a name="sucp_examples"></a>
<h2>sucp EXAMPLES</h2>
Some examples:
<div class="verbatim">
  csp_sucp rms@bilbo /etc fstab</div>
<div class="verbatim">
  csp_sucp monty-python commit/ trailer.txt</div>

<a name="author"></a>
<h2>AUTHOR</h2>
Joost van Baal-Ilić

<a name="seealso"></a>
<h2>SEE ALSO</h2>
<a class="local sibling" href="caspar.html">caspar(7)</a>
The caspar homepage is at <a class="extern" href="http://mdcc.cx/caspar/">http://mdcc.cx/caspar/</a> .
</body>
</html>