summaryrefslogtreecommitdiff
path: root/network/tnfsd/README
blob: 1bbf964283331a2abfa54a3d45ccdf2dc8873e73 (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
tnfsd (trivial network filesystem server)

TNFS is a simplified Internet file transfer protocol, designed for
limited resource usage and ease of implementation on small systems,
such as 8-bit computers. It's simpler than NFS, SMB, or FTP. It's
similar to TFTP, but has features TFTP lacks.

Since tnfsd has no access control other than file permissions, and
since we generally don't want clients to have write access, this
package uses a dedicated user/group for the daemon, and another group
to control local write access to the shared directory.

Before running this SlackBuild, you must create the tnfsd user and
the tnfsd and tnfs-files groups. Use these commands:

  groupadd -g 375 tnfsd
  groupadd -g 376 tnfs-files
  useradd -u 375 -d /var/tnfs -c "TNFS Daemon User" \
          -M -g tnfsd tnfsd -s /bin/false

After the package is installed, add any users you want to the tnfs-files
group. These users will be able to create files in the /var/tnfs
directory. Example:

  usermod -a -G tnfs-files joeblow

After the above command, the user joeblow will have to log out and
back in, to join the new group. Once this is done, the user can
copy files to /var/tnfs (or ~tnfs) and they will be visible to TNFS
clients.

TNFS uses UDP port 16384, so make sure you allow incoming traffic if
you have firewall rules.

This package includes the server and an init script for running
tnfsd as a system daemon. To start tnfsd at boot, first edit
/etc/rc.d/rc.tnfsd, read the comments, and change the default user and
directory if needed. Then add this to /etc/rc.d/rc.local:

  [ -x /etc/rc.d/rc.tnfsd ] && /etc/rc.d/rc.tnfsd start

Depending on how you're using tnfsd, it might make more sense to start
the service as needed, as an unprivileged user, instead of running it
as a system daemon.

Usage logging is a compile-time option. By default, it's enabled. If
you find it too chatty, you can rebuild this with USAGELOG=no set in
the environment.