尝试使用 TFTP 获取文件时出现“权限被拒绝”

尝试使用 TFTP 获取文件时出现“权限被拒绝”

我开始了tftp-server,但我对这个错误感到困惑:

nisemono ncdy # chmod 777 /tftproot/test 
mode of `/tftproot/test' changed to 0777 (rwxrwxrwx)
nisemono ncdy # tftp 192.168.0.2        
tftp> get test
Error code 0: Permission denied

0 字节文件被复制...但是权限被拒绝???我不喜欢这个消息。

cat /etc/xinetd.d/tftp
service tftp
{
    disable = no
    socket_type     = dgram
    protocol        = udp
    wait            = yes
    user            = root
    server          = /usr/sbin/in.tftpd
    server_args     = -s /tftproot
    per_source      = 11
    cps             = 100 2
    flags           = IPv4
}

为什么会失败?我究竟做错了什么?

答案1

可能是selinux的问题。ls -alZ在目录中执行 a 。在 RHEL5/Centos5 上,上下文应该是user_u:object_r:tftpdir_t.

您可以运行restorecon -Rv /tftproot来修复它。

编辑: 刚刚看到软呢帽标签。您似乎使用的不是 F16,而是早期版本,因此上述说明应该适合您。使用 F16 时,tftproot 位于 /var/lib 中,上下文为system_u:object_r:tftpdir_rw_t:s0.

答案2

您是否尝试将文件保存到没有写入权限的目录中?你/etc打电话的时候在吗tftp hostaddr

答案3

这就是 setenforce 的问题。键入命令 setenforce 0 as SUDO。这解决了这个问题。

相关内容