【问题标题】:How can I change permissions of a file on a ftp server using apache commons net ftp?如何使用 apache commons net ftp 更改 ftp 服务器上文件的权限?
【发布时间】:2012-10-05 07:54:37
【问题描述】:

如果有来自服务器的 ftp 文件列表,我如何更改其中一个文件的权限?

如果有人能给我指点教程或给我看一个例子,我将不胜感激。我已经弄清楚如何更改文件中的权限,但不知道如何使更改在服务器上永久生效。

有什么建议吗?

【问题讨论】:

  • 你能解释一下你到底发现了什么,这些变化是暂时的吗?
  • ftpFile.setPermission(FTPFile.WORLD_ACCESS, FTPFile.EXECUTE_PERMISSION, boolean);通过在 ftpfile 上执行此操作,它在我的应用程序中发生了更改,但在服务器上没有更改。有什么建议吗?
  • 好吧,我用 commons-net ftp 做了一些事情,但从未更改过权限...在我的脑海中,也许你需要对用户和组做/设置一些额外的事情,看起来与此有关?运行 Linux 服务器?
  • 来自库 [docs](commons.apache.org/net/api-3.1/org/apache/commons/net/ftp/…, int, boolean)) 对于 setPermission 方法:设置给定访问组(_ACCESS 常量之一)是否具有给定文件的访问权限(_PERMISSION 常量之一)。
  • 没错,这就是我正在做的。所以我有 USER GROUP & WORLD 和 READ WRITE & EXECUTE 的九种组合。但是在对文件进行更改之后,它就像它只是在本地而不是在服务器上更改。我现在正在尝试使用 hostgator 服务器。

标签: java apache-commons-net


【解决方案1】:

设置文件的权限可以通过在文件或目录所在的目录中使用这个来实现:

ftpClient.sendSiteCommand("chmod " + "755" + " example.html");

注意: 为什么没有人知道 FTPFile 中的 setPermission() 是如何工作的,这对我来说是个谜。因为这似乎是一种更好的方法,而不是使用命令行在 apache commons net 库中设置 ftpFile 的权限!

【讨论】:

  • 它只是不起作用,没有办法将 FTPFILE 放在客户端中,或者只是和文件的 UPDATE 选项,这就是为什么:(
猜你喜欢
  • 2021-10-13
  • 2012-01-25
  • 1970-01-01
  • 2020-01-29
  • 2011-05-29
  • 1970-01-01
  • 2013-06-17
  • 1970-01-01
  • 2019-05-21
相关资源
最近更新 更多