recvmux
?recvmux
manual page
explains that it receives a stream sent via tcpmux
and stores it away in a file based on the peer and do contents of
the dead-drop itself.
stoage
service like mine:
Give it a group via local site policy. Mine is in the
sample
group, so that it can share files
with the other samplers without world read permissions.
inetd
(aka tcpmux
) configuration
My configuration for inetd.conf
looks like
That drops all the incoming files intotcpmux/storage stream tcp nowait storage:sample /usr/local/libexec/recvmux recvmux
~storage
,
which is not usually a problem.
In a scratch file create a dummy payload:
$ vi /tmp/$USER.dummy # $Which: echo 'localhost.example.gg' $$ Mock payload $ muxsend -f /tmp/$USER.dummy localhost storage
Just page the file:
$ less ~storage/localhost.example.gg # $Which: echo 'localhost.example.gg' $$ Mock payload
Use sudo
or op
to
become the storage
login to remove the
file (or use a root
shell):
$ sudo -u storage rm ~storage/localhost.exampe.gg
cron
or kicker
(see that
HTML document).
inetd.conf
or
tcpmux.conf
, or disable the service in
the file under xinetd.d
.
ksb
version of
tcpmux
you may chain the configuration for
a mortal user to a configuration file that login owns:
In the<sample stream tcp nowait sample:sample /home/sample/.muxconf tcpmux
/home/sample/.muxconf
file we provide
the service:
for the sender:
Note that this renames the service to "sample storage", so the sending script must target:storage stream tcp nowait * /usr/local/libexec/recvmux recvmux -Dstorage
muxsend -f payload localhost sample storage
This has the benefit that additional samplers may be installed without
superuser access (under the sample
account).
It also forces a directory structure for each sample type.
Be sure to mkdir
the directories for each new
sampler. And be sure to reload inetd
.
muxsend
HTML document.
$Id: recvmux.html,v 1.1 2012/08/20 23:17:27 ksb Exp $