java - 在 Java 中从 CIFS 安装的文件系统读取 ACL

标签 java linux cifs

在 Linux 机器上,我用

安装了一个 CIFS 文件系统
mount ... cifs ...,cifsacl

并且我能够使用 /usr/bin/getcifsacl 读取 ACL。此外,在 Windows 机器上,读取 Java 中的 ACL 可用于:

AclFileAttributeView view = 
    Files.getFileAttributeView(path, AclFileAttributeView.class)

但是当我将相同的 Java 代码应用到 Linux 上的 CIFS 安装时,viewnull

是否有机会调整 CIFS 挂载或 Java 代码以便我可以读取 ACL? (我知道 jCIFS,但不需要任何额外的 Java 类库。)

答案可能是help here too .

最佳答案

Is there a chance to tweak ... the Java code such that I can read ACLs?

您始终可以下载 OpenJDK 源代码,了解如何构建它,然后进行更改以实现您想要的效果。但这是个坏主意。您不太可能找到任何愿意接受您的更改的人,而且大多数人都不愿意运行它们。

请注意,Linux OpenJDK 构建中的“rt.jar”文件不包含 Windows 文件属性 View 提供程序类。他们不在那里。因此,您将无法使用(假设的)反射调整来使用 Windows View 。也许您可以编译它们并将它们添加到引导类路径中。


请注意,如果出于许可原因您不愿意使用 jCIFS,同样的原因应该会阻止您“调整”OpenJDK。 OpenJDK 已获得 GPLv2 许可(具有“类路径异常(exception)”),您的调整也将包含在内。 (请注意,jCIFS 是 LGPLv2.1 ... 与 GPLv2 相比,它应该更少有问题。)

关于java - 在 Java 中从 CIFS 安装的文件系统读取 ACL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45961898/

相关文章:

linux - 虚幻引擎在 Linux 上启动时崩溃

linux - Bash 从 stdout 获取最后一行(组合)

java - 将名称的第一个字符转换为大写的函数

Java 泛型 : array creation, 类型转换和未经检查的警告

linux文件系统权限问题

windows - 文件 ://myserver/share/a/b/c in svn repository on linux

linux - CIFS/SMB 写入优化

linux - mount -t cifs 适用于一个版本的 linux 而不是另一个

java - Spring bean 不使用@Component 注释 Autowiring

Java - 使用 Netbeans 隐藏/显示外部 jPanel?