1

如何转换 755 之类的 chmod 值,使其适合 channelSftp setPermission(int permission, String path)?

我想不通。:(

编辑:这里说我想使用位掩码。但我也不确定如何做到这一点。 http://epaul.github.com/jsch-documentation/javadoc/com/jcraft/jsch/SftpATTRS.html#setPERMISSIONS(int )

4

3 回答 3

4
Permission perm = new Permission();
//set the permissions you want.
setPermission(perm.getDecimalCode(), path);

您可以从这里获取 Permission 类:

http://svn.cyberduck.ch/tags/release-2-3/source/ch/cyberduck/core/Permission.java

于 2012-09-25T12:06:31.133 回答
1
channelSftp.chown(0755, f.getName());
于 2016-04-07T15:21:39.510 回答
0

我知道它正在挖掘一个旧坟墓,但我有更好的解决方案 - SftpChannel.chmod 需要十进制整数,而 unix 格式(644、777 等)是八进制。您所要做的就是简单的转换:

SftpChannel.chmod(Integer.parseInt(""+, 8), path);

于 2015-10-15T12:58:43.970 回答