mac mount_ftp,用户名为@ sign

时间:2014-04-07 15:40:14

标签: macos ftp terminal mount

我的Mac mount_ftp程序有问题:

我正在尝试将ftp服务器挂载到本地挂载点以复制某些文件。我使用了mac mount_ftp程序。

这适用于匿名FTP站点,但是当我必须提供用户名和密码时它不起作用。

我的语法是:mount_ftp用户名:password @ ftp://ftp.name / path / to / mountpoint /

程序执行大约30秒,然后"回显$?"给出退出状态13.

我认为问题是我的用户名有" @"其中的符号(FTP站点使用电子邮件地址作为密码)。如何单独将用户名和密码参数传递给mount_ftp?

我尝试了mount_ftp的-i选项 - 这也不起作用。

Mac支持很糟糕 - 他们显然不支持任何与终端有关的事情("高级用法....")

Alex

1 个答案:

答案 0 :(得分:0)

"正确"这样做的方法是使用%-encoding作为用户名(和密码,以及URL中与URL语法冲突的任何其他元素)。此外,username:password@位在ftp://之后:

mount_ftp ftp://user%40emaildomain.com:password@ftp.name/ /path/to/mountpoint/

...但实际上这也不起作用,因为mount_ftp没有正确地% - 解码元素 - 在我给出的示例中,它实际上会发送user%40emaildomain.com作为用户名

这是一个错误,原则上应该向Apple报告。但我怀疑他们是否需要修理它。这不是因为他们不支持任何与终端有关的事情;如果您尝试通过Finder进行安装,则会出现相同的错误。这是因为他们不认为FTP支持是高优先级的。 Apple的FTP安装程序从一开始就有错误。早在早期(10.0,10.1等)它曾经导致内核恐慌 - 我认为它已停止这样做了,但坦率地说我还没用过这么久我不太确定。 Apple的态度似乎(我完全同意这一点),FTP是一种古老,苛刻,固有的破坏协议,改善对它的支持是浪费时间。

尽管如此,虽然OS X中的FTP安装程序并不是很好,但是有一个(终端)ftp命令可以正常工作:

ftp ftp://user%40emaildomain.com:password@ftp.name/

...所以这实际上是终端界面比GUI版本更好的情况。