我在 Ubuntu 10.04 上安装了 tftp,文件如下 /etc/xinetd.d/tftp。
我可以使用以下命令连接到 tftp 服务器
tftp 10.1.1.54 获取 pxelinux.0
并且它毫无问题地恢复了文件。当我尝试:
获取/pxelinux.0
我得到一个
错误代码 2:访问冲突
这是一个问题,因为 HP PXE 启动环境请求带有前导 / 的 pxelinux.0。我怀疑它试图使用服务器根目录作为 / 根目录,而不是使用 /tftpboot 作为根目录。我查看了文档,但我找不到 chroot tftp 的方法,因此它正确地解释了前导斜杠
提前致谢。
服务 tftp { 协议 = udp 端口 = 69 socket_type = dgram 等待 = 是 用户 = 无人 服务器 = /usr/sbin/in.tftpd server_args = /tftpboot 禁用 = 否 }
答案1
答案2
您可以使用-s
tftpd 选项来完成您想要的操作。
/tftpboot
如果我有这样的目录:
# ls /tftpboot
afile
我是tftpd
这样跑步的:
# tftpd -l -s /tftpboot
然后是这个:
tftp> get afile
相当于这样:
tftp> get /afile
您可以修改server_args
配置文件的以下行:
service tftp
{
protocol = udp
port = 69
socket_type = dgram
wait = yes
user = nobody
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
disable = no
}