【问题标题】:Create symbolic links on server without SSH available?在没有 SSH 的服务器上创建符号链接?
【发布时间】:2011-08-01 03:53:22
【问题描述】:

当我看到以下帖子时我很兴奋,但它不包括我的情况:Mount an FTP server locally

我有什么方法可以在没有 SSH 访问权限的情况下在远程服务器上创建符号链接,可能是通过一些 FTP hack?

【问题讨论】:

    标签: ftp ssh symlink


    【解决方案1】:

    使用脚本。

    如果您有 sh、bash 或 csh 可用,那么您几乎与拥有 ssh 访问权限一样好。如果您不这样做,那么大多数其他脚本语言都允许您在服务器上创建符号链接。

    例如,在 PHP 中,您将使用 symlink() 函数:

     symlink("myOriginalFileOrDirectory", "mySymbolicLink"); 
    

    我刚遇到同样的问题,这就是我轻松解决的方法:)

    【讨论】:

    • 这种方法仅适用于 FTP 服务器也是 Web 服务器或您具有 shell(telnet 或 SSH)访问权限的情况。使用纯 FTP 服务器这是不可能的。
    • 对,我正在考虑使用 FTP 服务器作为将文件上传到 Web 服务器的一种常见情况。
    • 即使使用网络服务器(例如共享主机),您也不一定总是可以运行以这种方式访问​​文件系统的 shell 脚本。
    • 好吧,您肯定已经注意到,shell 脚本并不是唯一允许访问文件系统的脚本,尤其是因为我给出的示例涉及 PHP。如果您的共享主机上不允许使用任何脚本工具,那么也许是时候考虑更改您的主机提供商了:)
    • FTP 也可以限制访问某些文件夹。无论如何,除非您尝试在托管服务提供商决定您不应该去的特定位置链接某些东西,否则这并不排除任何事情,所以这不是很相关。看,如果我要列出可能妨碍创建符号链接的每个特定配置,那么它对试图找到解决问题的实际解决方案的人没有帮助。如果您针对我的解决方案不起作用的情况提出可行的替代方案,而不是仅仅抨击它,那将更具建设性。
    【解决方案2】:

    常规 FTP 过于抽象,无法了解符号链接。

    如果服务器支持自定义命令,它可能会让你直接发送 unix shell 命令。并非所有服务器都支持这一点,但其中一些支持。

    如果您有 SFTP 访问权限(有时管理员为用户提供 SFTP 访问权限但没有 SSH shell),SFTP 协议支持创建符号链接。

    【讨论】:

    • 这是很好的信息。我检查了我的 FTP 客户端(FlashFXP),果然它能够在服务器上执行原始命令。果然奏效了。谢谢你:)
    • 对于那些没有 SFTP 访问权限的人,您仍然可以使用脚本。检查my answer below
    【解决方案3】:

    RFC 959 定义了 FTP 协议,不提供任何创建符号链接的标准规定。

    【讨论】:

      猜你喜欢
      • 2023-04-06
      • 2014-01-26
      • 1970-01-01
      • 2013-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-24
      • 1970-01-01
      相关资源
      最近更新 更多