我正在尝试在 CentOS 6.2 上设置 TFTP 服务器。/etc/xinet.d/tftp
配置文件如下:
service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot -vvv
per_source = 11
cps = 100 2
flags = IPv4
}
selinux 和防火墙已禁用。/etc/hosts.allow
和/etc/hosts.deny
文件为空。当我尝试从 TFTP 服务器获取文件时,文件传输总是失败,并且我看到以下错误/var/log/messages
Jul 11 03:16:53 localhost xinetd[4155]: xinetd Version 2.3.14 started with libwrap loadavg labeled-networking options compiled in.
Jul 11 03:16:53 localhost xinetd[4155]: Started working: 1 available service
Jul 11 03:17:00 localhost xinetd[4155]: START: tftp pid=4157 from=192.168.10.3
Jul 11 03:17:00 localhost in.tftpd[4158]: RRQ from 192.168.10.3 filename 1
Jul 11 03:17:00 localhost in.tftpd[4158]: sending NAK (0, Permission denied) to 192.168.10.3
Jul 11 03:17:01 localhost in.tftpd[4159]: RRQ from 192.168.10.3 filename 1
Jul 11 03:17:01 localhost in.tftpd[4159]: sending NAK (0, Permission denied) to 192.168.10.3
Jul 11 03:17:03 localhost in.tftpd[4160]: RRQ from 192.168.10.3 filename 1
目录tftpboot
权限为(命令输出ls -l
):
drw-rw-rw-. 3 root root 4096 Jul 11 03:32 tftpboot
我还看到该tftpboot
目录以绿色背景显示ls -l
(与其他文件/目录不同)(为什么?因为我知道绿色背景仅适用于粘性位)。
我做错了什么?如何让 TFTP 服务器正常工作?
答案1
你的/etc/xinet.d/tftp
配置文件是正确的。
的权限/tftpboot
应为 755 或drwxr-xr-x
。
确保 chkconfig --list 显示在 xinetd 下启用了 tftp。
xinetd based services:
chargen-dgram: off
chargen-stream: off
daytime-dgram: off
.
.
rsync: on
tcpmux-server: off
tftp: on
答案2
我碰到过几次这种情况。
检查/etc/xinetd.conf
您的服务器是否被命名以允许访问xinetd
守护进程,并检查/etc/host.allow
您的网络是否允许tftp
。in.tftpd
答案3
我们尝试并执行了上述所有操作(多次运行 tftp),但无法在 CentOS7 上运行。无论我们做什么,写入许可问题仍然存在。最后采纳了 @justjeff 的建议和“setenforce 0”,它成功了。
内核有所有最新的补丁。
再次出现 selinux 问题。