2022-07-25 16:22:44 +08:00
|
|
|
.\" Man page generated from reStructuredText.
|
|
|
|
.
|
|
|
|
.
|
|
|
|
.nr rst2man-indent-level 0
|
|
|
|
.
|
|
|
|
.de1 rstReportMargin
|
|
|
|
\\$1 \\n[an-margin]
|
|
|
|
level \\n[rst2man-indent-level]
|
|
|
|
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|
|
|
-
|
|
|
|
\\n[rst2man-indent0]
|
|
|
|
\\n[rst2man-indent1]
|
|
|
|
\\n[rst2man-indent2]
|
|
|
|
..
|
|
|
|
.de1 INDENT
|
|
|
|
.\" .rstReportMargin pre:
|
|
|
|
. RS \\$1
|
|
|
|
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
|
|
|
|
. nr rst2man-indent-level +1
|
|
|
|
.\" .rstReportMargin post:
|
|
|
|
..
|
|
|
|
.de UNINDENT
|
|
|
|
. RE
|
|
|
|
.\" indent \\n[an-margin]
|
|
|
|
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|
|
|
.nr rst2man-indent-level -1
|
|
|
|
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|
|
|
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
|
|
|
..
|
2022-08-20 23:56:04 +08:00
|
|
|
.TH "TNFSD" 1 "2022-08-19" "20201019" "SlackBuilds.org"
|
2022-07-25 16:22:44 +08:00
|
|
|
.SH NAME
|
|
|
|
tnfsd \- trivial network filesystem daemon
|
|
|
|
.\" RST source for tnfsd(1) man page. Convert with:
|
|
|
|
.
|
|
|
|
.\" rst2man.py tnfsd.rst > tnfsd.1
|
|
|
|
.
|
|
|
|
.\" rst2man.py comes from the SBo development/docutils package.
|
|
|
|
.
|
|
|
|
.SH SYNOPSIS
|
|
|
|
.sp
|
|
|
|
tnfsd \fBdirectory\fP [\fB\-c\fP \fIusername\fP]
|
|
|
|
.SH DESCRIPTION
|
|
|
|
.sp
|
|
|
|
TNFS is a simplified Internet file transfer protocol, designed for
|
|
|
|
simplicity and ease of implementation on small systems, such as 8\-bit
|
|
|
|
computers. It\(aqs simpler than NFS, SMB, or FTP. It\(aqs similar to TFTP,
|
|
|
|
but has features TFTP lacks.
|
|
|
|
.sp
|
|
|
|
\fBtnfsd\fP is the server for the TNFS protocol. It listens for clients
|
2022-08-20 23:56:04 +08:00
|
|
|
on UDP port 16384. In theory, the protocol supports TCP connections,
|
|
|
|
but this hasn\(aqt been implemented yet.
|
2022-07-25 16:22:44 +08:00
|
|
|
.sp
|
|
|
|
The mandatory \fBdirectory\fP option is the root of the TNFS filesystem
|
|
|
|
tree.
|
|
|
|
.sp
|
|
|
|
The \fB\-c\fP \fIusername\fP option requires \fBtnfsd\fP to be run as
|
|
|
|
\fIroot\fP\&. If given, \fBtnfsd\fP will \fBchroot\fP(2) to the \fIdirectory\fP,
|
|
|
|
then drop its root privileges and run as the \fIusername\fP user instead.
|
|
|
|
.sp
|
|
|
|
Even without \fBchroot\fP, \fBtnfsd\fP will not deliberately allow access
|
|
|
|
to files outside the \fIdirectory\fP\&. The \fB\-c\fP option is a safety net,
|
|
|
|
in case there\(aqs a bug in \fBtnfsd\fP that allows such access (currently,
|
|
|
|
no such bug is known of).
|
|
|
|
.sp
|
|
|
|
Note that \fBtnfsd\fP can be started by a normal user, since it uses an
|
|
|
|
unprivileged UDP port. The \fB\-c\fP option won\(aqt work in this case.
|
|
|
|
.sp
|
|
|
|
\fBtnfsd\fP logs various information to standard error. If compiled with
|
|
|
|
\fI\-DUSAGE_LOG\fP, the log includes all mount, umount, and file transfer
|
|
|
|
requests including the client IP addresses.
|
|
|
|
.SH LIMITATIONS
|
|
|
|
.sp
|
|
|
|
\fBtnfsd\fP is designed to be simple, so the following list of
|
|
|
|
limitations should not be read as complaints or feature requests.
|
|
|
|
.sp
|
|
|
|
There is no way to run multiple \fBtnfsd\fP instances on the same
|
|
|
|
host, not even on a multi\-homed host. The default UDP port cannot
|
|
|
|
be changed; neither can the IP address used for binding (which is
|
|
|
|
\fI0.0.0.0\fP, aka \fIINADDR_ANY\fP). Also, there\(aqs no concept of virtual
|
|
|
|
hosts. If you \fIreally\fP want to run multiple instances, use containers
|
|
|
|
or virtual machines.
|
|
|
|
.sp
|
|
|
|
There\(aqs no way to limit which hosts may access \fBtnfsd\fP using any
|
|
|
|
mechanism such as \fBtcpd\fP(8). Firewall rules may be used instead,
|
|
|
|
e.g. \fBiptables\fP(8).
|
|
|
|
.sp
|
|
|
|
There isn\(aqt a way to share a directory read\-only with the current
|
|
|
|
\fBtnfsd\fP implementation. However, filesystem permissions can be used
|
|
|
|
to prevent the daemon from writing to the shared directory.
|
|
|
|
.SH COPYRIGHT
|
|
|
|
.sp
|
|
|
|
See the file /usr/doc/tnfsd\-20201019/COPYING for license information.
|
|
|
|
.SH AUTHORS
|
|
|
|
.sp
|
|
|
|
tnfsd was written by Dylan Smith.
|
|
|
|
.sp
|
|
|
|
This man page written for the SlackBuilds.org project
|
|
|
|
by B. Watson, and is licensed under the WTFPL.
|
|
|
|
.SH SEE ALSO
|
|
|
|
.sp
|
|
|
|
\fBtnfs\-fuse\fP(1), \fBfujinet\-pc\fP(1)
|
|
|
|
.sp
|
|
|
|
/usr/doc/tnfsd\-20201019/tnfs\-protocol.md
|
|
|
|
.\" Generated by docutils manpage writer.
|
|
|
|
.
|