在Linux机器上,我使用
挂载了一个CIFS文件系统/usr/bin/getcifsacl
我可以用AclFileAttributeView view =
Files.getFileAttributeView(path, AclFileAttributeView.class)
读出ACL。此外,在Windows框中,读取Java中的ACL可以使用:
view
但是,当我将相同的Java代码应用于Linux上的CIFS装载时,null
为<activity
android:name=".HomeActivity"
android:clearTaskOnLaunch="true"
android:configChanges="orientation|screenSize"
android:launchMode="singleTask"
android:resumeWhilePausing="true"
android:stateNotNeeded="true"
android:taskAffinity="${applicationId}.home"
android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.HOME"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
。
是否有机会调整CIFS挂载或Java代码以便我可以读取ACL? (我知道jCIFS,但不需要任何额外的Java类库。)
答案很可能help here too。
答案 0 :(得分:1)
是否有机会调整... Java代码,以便我可以读取ACL?
您可以随时下载OpenJDK源代码,弄清楚如何构建它,然后开发更改以执行您想要的操作。但那是一个坏主意。您不太可能找到愿意接受您的更改的人,并且大多数人都不愿意运行它们。
为了记录,&#34; rt.jar&#34;用于Linux的OpenJDK build中的文件不包括Windows文件属性视图提供程序类。他们不在那里。因此,您无法使用(假设的)反射调整来使用Windows视图。也许你可以编译它们并将它们添加到bootclasspath。
请注意,如果您因许可原因而不愿意使用jCIFS,同样的推理应该会阻止您进行调整&#34; OpenJDK的。 OpenJDK被许可为GPLv2(&#34;类路径异常&#34;),您的调整也将被涵盖。 (注意,jCIFS是LGPLv2.1 ...它应该比GPLv2 更少有问题。)