[英]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挂载时,该view
为null
。
是否有机会调整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.