【发布时间】:2014-08-01 01:42:21
【问题描述】:
我们有一个使用以下约定的服务器:
/pathA/Users/
/pathB/data/
当用户登录时,他们最终会进入相应的 /pathA/Users/user/ 目录,但有时他们需要访问 /pathB/data/ 。我想编写一个浏览器,使用 sftp,让用户浏览服务器的内容(我很高兴找到一个 java 工具,我可以插入我的应用程序,但找不到任何符合我所有要求的东西) .
我遇到的问题是apache-commons-vfs 接受一串表单
sftp://user:password@host
并使用它登录用户目录并将该目录视为根目录。效果是我无法超越该目录,在相应的FileObject 上调用getParent() 返回null。我知道可以在终端上使用 sftp 跨过用户主目录,所以我猜这是apache-commons-vfs 库施加的限制。有没有人知道我是否可以解决这个问题,以便可以浏览整个服务器?
【问题讨论】:
-
浏览整个服务器 ...你确定吗?您始终可以通过 SSH 连接到服务器。
-
我明白你的意思,但我需要访问用户目录之外的一些目录。该应用程序的重点是让那些听到“终端”这个词就开始颤抖的用户的生活更轻松,所以我不希望他们不得不轻拍 ssh。而且我可以从我的代码中使用 ssh 获得我想要的功能,但希望能找到一个可以让我省去编码工作的库。
-
未来是否有人对此感兴趣:我能够通过
SSHJ's StatefulSFTPClient获得所需的功能,尽管它的文档有点稀缺,因此有点工作。
标签: java sftp apache-commons apache-commons-vfs