![在 tftp 中使用 put 命令后更改文件目标路径](https://linux22.com/image/1529791/%E5%9C%A8%20tftp%20%E4%B8%AD%E4%BD%BF%E7%94%A8%20put%20%E5%91%BD%E4%BB%A4%E5%90%8E%E6%9B%B4%E6%94%B9%E6%96%87%E4%BB%B6%E7%9B%AE%E6%A0%87%E8%B7%AF%E5%BE%84.png)
我正在使用两台 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