FreeBSD 中文 man 手册
FreeBSD 中文社区
  • man
  • man1
    • Mail.1
    • addr2line.1
    • alias.1
    • alloc.1
    • apply.1
    • apropos.1
    • ar.1
    • at.1
    • atq.1
    • atrm.1
    • awk.1
    • basename.1
    • batch.1
    • bc.1
    • bg.1
    • bind.1
    • bindkey.1
    • break.1
    • breaksw.1
    • bsdcat.1
    • bsdtar.1
    • btsockstat.1
    • builtin.1
    • builtins.1
    • c++.1
    • case.1
    • cat.1
    • cc.1
    • chdir.1
    • chfn.1
    • chgrp.1
    • chkey.1
    • chmod.1
    • cksum.1
    • clang++.1
    • clang-cpp.1
    • cmp.1
    • colrm.1
    • column.1
    • comm.1
    • command.1
    • complete.1
    • continue.1
    • cp.1
    • cpp.1
    • crypt.1
    • csh.1
    • ctfdump.1
    • cut.1
    • date.1
    • dd.1
    • default.1
    • df.1
    • dialog.1
    • diff.1
    • diff3.1
    • dirname.1
    • dirs.1
    • do.1
    • done.1
    • dtrace.1
    • du.1
    • echo.1
    • echotc.1
    • edit.1
    • ee.1
    • egrep.1
    • elfdump.1
    • elif.1
    • else.1
    • end.1
    • endif.1
    • endsw.1
    • enigma.1
    • env.1
    • esac.1
    • eval.1
    • exec.1
    • exit.1
    • export.1
    • fc.1
    • fg.1
    • fgrep.1
    • fi.1
    • filetest.1
    • find.1
    • for.1
    • foreach.1
    • fsync.1
    • ftp.1
    • fuser.1
    • gate-ftp.1
    • getopts.1
    • glob.1
    • goto.1
    • grep.1
    • groups.1
    • gunzip.1
    • gzcat.1
    • gzip.1
    • hash.1
    • hashstat.1
    • head.1
    • history.1
    • host.1
    • hostname.1
    • hup.1
    • ibv_asyncwatch.1
    • ibv_devices.1
    • ibv_devinfo.1
    • ibv_ud_pingpong.1
    • id.1
    • ident.1
    • if.1
    • intro.1
    • introduction.1
    • jobid.1
    • jobs.1
    • kdump.1
    • kenv.1
    • keylogin.1
    • keylogout.1
    • kill.1
    • killall.1
    • ktrace.1
    • last.1
    • lastcomm.1
    • ld.1
    • ld.lld.1
    • ldd.1
    • ldd32.1
    • less.1
    • lessecho.1
    • limit.1
    • limits.1
    • link.1
    • llvm-addr2line.1
    • llvm-ranlib.1
    • ln.1
    • locate.1
    • lockstat.1
    • log.1
    • logger.1
    • login.1
    • logname.1
    • logout.1
    • look.1
    • lorder.1
    • ls-F.1
    • ls.1
    • lsvfs.1
    • lzcat.1
    • lzma.1
    • lzmadec.1
    • lzmainfo.1
    • mailx.1
    • make.1
    • man.1
    • mandoc.1
    • manpath.1
    • md5.1
    • mdocml.1
    • mkdir.1
    • mkfilters.1
    • more.1
    • mv.1
    • nawk.1
    • nc.1
    • netstat.1
    • newaliases.1
    • nice.1
    • notify.1
    • onintr.1
    • pagesize.1
    • passwd.1
    • paste.1
    • pax.1
    • perror.1
    • pftp.1
    • popd.1
    • printenv.1
    • ps.1
    • pushd.1
    • pwd.1
    • qemu.1
    • ranlib.1
    • read.1
    • readelf.1
    • readlink.1
    • readonly.1
    • realpath.1
    • ree.1
    • rehash.1
    • repeat.1
    • rev.1
    • revoke.1
    • rgrep.1
    • rm.1
    • rmd16.1
    • rmdir.1
    • rping.1
    • ruptime.1
    • rwho.1
    • sched.1
    • scp.1
    • sdiff.1
    • sed.1
    • seq.1
    • set.1
    • setenv.1
    • settc.1
    • setty.1
    • setvar.1
    • sftp.1
    • sh.1
    • sha1.1
    • sha224.1
    • sha256.1
    • sha384.1
    • sha512.1
    • sha512t256.1
    • shift.1
    • skein1024.1
    • skein256.1
    • skein512.1
    • slogin.1
    • sockstat.1
    • sort.1
    • source.1
    • split.1
    • ssh-copy-id.1
    • ssh-keygen.1
    • ssh.1
    • stat.1
    • stop.1
    • su.1
    • suspend.1
    • svnlite.1
    • switch.1
    • systat.1
    • tail.1
    • tar.1
    • tcpdump.1
    • tcsh.1
    • telltc.1
    • telnet.1
    • then.1
    • time.1
    • timeout.1
    • times.1
    • top.1
    • touch.1
    • trap.1
    • truncate.1
    • truss.1
    • type.1
    • ulimit.1
    • umask.1
    • unalias.1
    • uname.1
    • uncomplete.1
    • unhash.1
    • uniq.1
    • unlimit.1
    • unlink.1
    • unlzma.1
    • unset.1
    • unsetenv.1
    • until.1
    • unxz.1
    • uptime.1
    • users.1
    • uuidgen.1
    • view.1
    • w.1
    • wait.1
    • wall.1
    • wc.1
    • whatis.1
    • where.1
    • whereis.1
    • which.1
    • while.1
    • who.1
    • whoami.1
    • xargs.1
    • xz.1
    • xzcat.1
    • xzdec.1
    • xzdiff.1
    • yes.1
    • yppasswd.1
    • zcat.1
    • zcmp.1
    • zdiff.1
    • zforce.1
    • zless.1
    • zmore.1
    • znew.1
  • man4
    • ow.4
    • ow_temp.4
    • owc.4
  • man5
    • device.hints.5
  • man7
    • hire
  • man8
    • adduser.8
    • authpf-noip.8
    • authpf.8
    • autounmountd.8
    • beastie.4th.8
    • bhyve.8
    • bhyvectl.8
    • bhyveload.8
    • blacklistctl.8
    • boot.8
    • boot0cfg.8
    • boot_i386.8
    • bsdconfig.8
    • camcontrol.8
    • check-password.4th.8
    • chown.8
    • chroot.8
    • config.8
    • crash.8
    • crashinfo.8
    • devctl.8
    • devinfo.8
    • devmatch.8
    • diskinfo.8
    • dmesg.8
    • fastboot.8
    • fasthalt.8
    • freebsd-update.8
    • fstyp.8
    • ftp-proxy.8
    • ftpd.8
    • gpart.8
    • gpioctl.8
    • gptboot.8
    • gptzfsboot.8
    • growfs.8
    • halt.8
    • i2c.8
    • ifconfig.8
    • inetd.8
    • init.8
    • intro.8
    • iostat.8
    • ipfw.8
    • jail.8
    • jexec.8
    • jls.8
    • kldconfig.8
    • kldload.8
    • kldstat.8
    • kldunload.8
    • kldxref.8
    • lastlogin.8
    • loader.4th.8
    • loader.8
    • loader.efi.8
    • mail.local.8
    • mailstats.8
    • menu.4th.8
    • mount.8
    • mount_cd9660.8
    • mount_msdosfs.8
    • moused.8
    • mtree.8
    • natd.8
    • nmtree.8
    • ntptime.8
    • password.lua.8
    • periodic.8
    • ping.8
    • pkg.8
    • pmccontrol.8
    • pmcstat.8
    • powerd.8
    • poweroff.8
    • pw.8
    • pwm.8
    • quot.8
    • rarpd.8
    • rc.8
    • rc.d.8
    • rc.firewall.8
    • rc.local.8
    • rc.network.8
    • rc.pccard.8
    • rc.resume.8
    • rc.serial.8
    • rc.shutdown.8
    • rc.subr.8
    • rcorder.8
    • reboot.8
    • renice.8
    • rescue.8
    • rmuser.8
    • route.8
    • route6d.8
    • routed.8
    • rpc.rusersd.8
    • service.8
    • shutdown.8
    • spi.8
    • ssh-keysign.8
    • sysctl.8
    • sysrc.8
    • tcpdrop.8
    • tftpd.8
    • tzsetup.8
    • umount.8
    • vmstat.8
    • watchdog.8
    • watchdogd.8
    • zfs.8
由 GitBook 提供支持

FreeBSD 中文社区

在本页
  • 名称
  • 概要
  • 描述
  • 参见
  • 历史
  • 笔记

这有帮助吗?

在GitHub上编辑
导出为 PDF
  1. man8

tftpd.8

上一页tcpdrop.8下一页tzsetup.8

最后更新于1年前

这有帮助吗?

TFTPD(8)

TFTPD(8)

FreeBSD System Manager's Manual

TFTPD(8)

tftpd —

Internet 普通文件传输协议服务器

tftpd [-cdClnow] [-F strftime-format] [-s directory] [-u user] [-U umask] [directory ...]

tftpd 实用程序是支持 Internet 普通文件传输协议 (RFC 1350) 的服务器。 TFTP 服务器在 ‘tftp’ 服务描述中指明的端口上运行;见 services(5) 。 服务器通常由 inetd(8) 启动。

tftp(1) 的使用不需要远程系统上的帐户或密码。 由于缺少身份验证信息, tftpd 将只允许访问公开可读的文件。 不允许包含字符串 “/../” 或以 “../” 开头的文件。 只有当文件已经存在并且可以公开写入时,才可以写入文件。 请注意,这将 “public” 的概念扩展为包括可以通过网络访问的所有主机上的所有用户;这可能不适用于所有系统,在启用 tftp 服务之前应考虑其影响。 服务器应具有具有最低权限的用户 ID。

可以通过在 inetd.conf(5) 中包含多达 20 个路径名作为服务器程序参数来使用目录列表调用 tftpd 来限制对文件的访问。 在这种情况下,访问仅限于名称以给定目录之一为前缀的文件。 给定的目录也被视为相对文件名请求的搜索路径。

-s 选项通过更改 tftpd 的根目录来提供额外的安全性,从而禁止对指定 directory 之外的访问。 因为 chroot(2) 需要超级用户权限,所以 tftpd 必须以 root 身份运行。 但是,在执行 chroot(2) 调用后, tftpd 会将其用户 ID 设置为指定 user 的用户 ID,如果未指定 -u 选项,则设置为 “nobody” 。

选项包括:

根据连接 IP 地址,通过 chroot(2) 更改连接主机的默认根目录。 这可以防止多个客户端同时写入同一个文件。 如果目录不存在,则拒绝客户端连接。 -s 需要 -c 选项,并且指定的 directory 用作基础。

操作与 -c 相同,但如果客户端 IP 的目录不存在,它会回退到通过 -s 指定的 directory 。

如果指定了 strftime(3) ,则使用此 -W 兼容格式字符串来创建后缀。 默认情况下使用字符串 "%Y%m%d" 。

启用调试输出。 如果未指定 value ,则每个指定的 -d 实例将调试级别增加一。

如果指定了 value ,则将调试级别设置为 value 。 调试级别是在 src/libexec/tftpd/tftp-utils.h 中实现的位掩码。 有效值为 0 (DEBUG_NONE), 1 (DEBUG_PACKETS), 2, (DEBUG_SIMPLE), 4 (DEBUG_OPTIONS) 和 8 (DEBUG_ACCESS) 。 通过对值进行逻辑或运算,可以在位掩码中组合多个调试值。 例如,指定 -d 15 将启用所有调试值。

使用带有 LOG_FTP 功能的 syslog(3) 记录所有请求。 注意: 还必须在 syslog 配置文件 syslog.conf(5) 中启用日志记录 LOG_FTP 消息。

抑制对不存在的相对文件名的请求的否定确认。

禁用对 RFC2347 样式 TFTP 选项的支持。

导致 tftpd 将其根目录更改为 directory 。 完成此操作后但在接受命令之前, tftpd 会将凭据切换到非特权用户。

使用 -s 选项时,将凭据切换到 user (默认为 “nobody”) 。 用户必须按名称指定,而不是数字 UID。

为新创建的文件设置 umask 。 默认值为 (S_IWGRP | S_IWOTH) 。

允许写入请求以创建新文件。 默认情况下, tftpd 要求写入请求中指定的文件存在。 请注意,这仅适用于使用 -u 选项指定的用户可写的目录

与 -w 一样,但将 YYYYMMDD.nn 序列号附加到文件名的末尾。 请注意,字符串 YYYYMMDD 可以使用 -F 选项进行更改。

tftp(1), chroot(2), syslog(3), inetd.conf(5), services(5), syslog.conf(5), inetd(8)

支持以下 RFC: RFC 1350: The TFTP Protocol (Revision 2). RFC 2347: TFTP Option Extension. RFC 2348: TFTP Blocksize Option. RFC 2349: TFTP Timeout Interval and Transfer Size Options. RFC 7440: TFTP Windowsize Option.

tftpd 实用程序出现在 4.2BSD 中; -s 选项是在 FreeBSD 2.2 中引入的, -u 选项是在 FreeBSD 4.2 中引入的, -c 选项是在 FreeBSD 4.3 中引入的, -F 和 -W 选项是在 FreeBSD 7.4 中引入的。

在 FreeBSD 5.0 中引入了对超时间隔和传输大小选项 (RFC2349) 的支持,在 FreeBSD 7.4 中引入了对 TFTP 块大小选项 (RFC2348) 和 blksize2 选项的支持。

FreeBSD 13.0 中引入了对 windowssize 选项 (RFC7440) 的支持。

如果没有客户端和服务器支持块大小协商(RFC 2347 和 2348)或非标准 TFTP 翻转选项,则无法正确传输大于 33,553,919 字节(65535 块,最后一个 <512 字节)的文件。 作为一个组合,即使未指定翻转选项, tftpd 也接受在 65535 之后归零的块号序列。

许多 tftp 客户端不会传输超过 16,776,703 个八位字节(32767 个块)的文件,因为它们错误地使用带符号而不是无符号 16 位整数计算块号。

March 2, 2020

FreeBSD 13.1-RELEASE

-d [value]

directory

user

umask

这里提到了非标准 rollover 和 blksize2 TFTP 选项: Extending TFTP, .

Edwin Groothuis 对 tftpd 和 tftp(1) 代码进行了重大重写以支持 RFC2348。

http://www.compuphase.com/tftp.htm
edwin@FreeBSD.org
名称
概要
描述
-c
-C
-F
-d,
-l
-n
-o
-s
-u
-U
-w
-W
参见
历史
笔记