aboutsummaryrefslogtreecommitdiff
path: root/network/tnfsd/tnfsd.1
blob: 0b05bb4a7d50cd628580a649910c389c149746c1 (plain)
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
.\" 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-08-19" "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 port 16384. In theory, the protocol supports TCP connections,
but this hasn\(aqt been implemented yet.
.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.
.