我在Centos 5.4服务器上通过xinetd运行TFTPD.我能够通过tftp罚款访问文件,所以我知道服务运行正常.但是,每当我尝试上传文件时,我都会收到0 Permission denied消息.
我已在/ tftpboot中创建了该文件,并将权限设置为666.
我的tftpd配置有详细的日志记录(-vvvv),但我在/ var / log / messages中看到的只有:
START:tftp pid = 20383 from = 192.168.77.4
我已经看到一些提到SELinux可以阻止TFTPD上传,但我希望在日志中看到一些东西.我让SELinux设置为许可模式.
有任何想法吗?
解决方法
遵循
http://grimwell.wikispaces.com/tftpd的信息,特别注意“冲洗并重复”以获得selinux政策.经过几次尝试后,它们开始工作 – 上传和创建新文件.
简而言之:
>确保您已在centos中安装审核,否则SELinux可能不会记录任何内容!
>确保你的xinetd.d / tftpd在服务器args行中有-c -v -s / tftpboot
>确保tftp将写入的目录具有777权限
>执行tftp localhost并尝试将文件放入目录中
>触摸directoy中的文件,chmod 666,然后通过tftp localhost,尝试覆盖该文件
>做grep tftp /var/log/audit/audit.log | audit2allow -m tftpwrite创建selinux策略.确保策略包括写入和创建行.如果没有,请尝试再次编写和创建以在审核日志中生成警报,然后重试.
>使用grep tftp /var/log/audit/audit.log |创建可安装的策略audit2allow -M tftpwrite然后使用semodule -i tftpwrite.pp安装它
> service xinetd reload并尝试使用tftp.
灿烂.希望别人觉得这个有用!