我正在使用两台 Linux 机器进行 tftp 文件传输。如果 server_args 路径为 /var/lib/tftpboot(默认路径),则传输正常进行。但是当我将其更改为其他路径(例如/home/user/dir)时,put 命令不起作用。那么配置目标路径的方法是什么呢?谢谢
答案1
我相信这将与目录的权限以及谁可以写入它们有关。如果您运行ls -al /var/lib | grep tftpboot
,请查看权限(可能是drwxrwxrwx
)以及目录的所有者。然后,查看权限/home/user
,您将看到它将被设置为,drwx------
这意味着只有拥有该目录的用户才能写入它 -tftpd
没有权限写入该目录。如果您使用的是 Ubuntu,请参阅这里如何正确配置目标目录,tftpd
特别是有关的部分chown
。
编辑:需要禁用(或配置)SELinux 才能tftp
写入指定目录(/home/tftpd
在本例中)。有关此信息可在此处找到:https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Security-Enhanced_Linux/sect-Security-Enhanced_Linux-Enabling_and_Disabling_SELinux-Disabling_SELinux.html