繁体   English   中英

从Java中的CIFS挂载文件系统读取ACL

[英]Read ACLs from CIFS mounted file system in Java

在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类库。)

一个答案在这里也可能会有所帮助

是否有机会调整Java代码,使我可以读取ACL?

您始终可以下载OpenJDK源代码,弄清楚如何构建它,然后进行更改以完成所需的工作。 但这是一个坏主意。 您不太可能找到愿意承担您的更改的人,而且大多数人都不愿意进行更改。

作为记录,Linux的OpenJDK构建中的“ rt.jar”文件不包括Windows文件属性视图提供程序类。 他们不在那里。 因此,您将无法使用(假设的)反射性调整来使用Windows视图。 也许您可以编译它们并将它们添加到bootclasspath中。


请注意,如果出于许可原因不愿使用jCIFS,则相同的理由也应防止您“调整” OpenJDK。 OpenJDK被许可为GPLv2(带有“ classpath异常”),并且您的调整也将涵盖在内。 (请注意,JCIFS是LGPLv2.1 ......这应该是比GPLv2的问题较少 。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM