簡體   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