.\" 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 .. .TH "TNFSD" 1 "2022-07-22" "20201019" "SlackBuilds.org" .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 on UDP and TCP port 16384. Most 8\-bit clients use UDP, and the Linux client \fBtnfs\-fuse\fP uses TCP. .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. .