无法使用 SFTP 在文件系统之间复制/移动

无法使用 SFTP 在文件系统之间复制/移动

SFTP 是否存在阻止用户在文件系统之间复制的限制?我有一个带有 SFTP 的 SLES,用户无法在文件系统之间复制/移动文件,即使目标是chmod 777-ed 并且用户是 root — Filezilla 只是说“失败”。在目标文件系统上创建目录工作正常,在文件系统内复制/移动也是如此,如果用户通过 SSH 访问,则可以复制到目标文件系统,没有问题。

没有 SELinux、AppArmor、grsecurity 等。这可能是什么问题?

更新:服务器是 SLES 10.4

答案1

SFTP 没有移动文件的命令,只有rename命令。在 OpenSSH(事实上的标准实现)中,这是通过rename系统调用,在文件系统内移动文件。没有任何命令可以将文件移动到任意位置,也没有命令可以将远程文件复制到另一个远程位置。

由于只有 SFTP 访问权限而没有 shell 访问权限,复制文件的唯一方法是下载并重新上传它。您可以创建符号链接。

答案2

目标文件系统可以是只读的,或者不允许SFTP 用户写入(例如,另一个用户未allow_other设置的FUSE 安装等)。以 SFTP 用户身份登录目标计算机(su - username例如,使用 )并确保您可以创建文件。您还可以使用这样的 CLI 客户端,sftp当您遇到错误时,它可以为您提供更多有用的信息。

相关内容