当前位置:   article > 正文

java root权限_有没有办法让Java应用获得root权限?

java本地执行没有root权限

当运行Files.walk(Paths.get(“/ var /”))。count()作为非特权用户时,执行可能会引发异常,因为/ var /中存在需要root权限的文件夹。

我不是寻找一种以root身份执行bash命令的方法(例如sudo find / var),使用Process等。

我只想确保Files.walk(Paths.get(“/ var /”))。count()不会抛出AccessDeniedException:

Exception in thread "restartedMain" java.lang.reflect.InvocationTargetException

at sun.reflect.NativeMethodAccessorImpl.invoke0

at sun.reflect.NativeMethodAccessorImpl.invoke

at sun.reflect.DelegatingMethodAccessorImpl.invoke

at java.lang.reflect.Method.invoke

at org.springframework.boot.devtools.restart.RestartLauncher.run

Caused by: java.io.UncheckedIOException: java.nio.file.AccessDeniedException: /var/cache/httpd

at java.nio.file.FileTreeIterator.fetchNextIfNeeded

at java.nio.file.FileTreeIterator.hasNext

at java.util.Iterator.forEachRemaining

at java.util.Spliterators$IteratorSpliterator.forEachRemaining

at java.util.stream.AbstractPipeline.copyInto

at java.util.stream.AbstractPipeline.wrapAndCopyInto

at java.util.stream.ReduceOps$ReduceOp.evaluateSequential

at java.util.stream.AbstractPipeline.evaluate

at java.util.stream.LongPipeline.reduce

at java.util.stream.LongPipeline.sum

at java.util.stream.ReferencePipeline.count

at com.example.DemoApplication.main

... 5 more

Caused by: java.nio.file.AccessDeniedException: /var/cache/httpd

at sun.nio.fs.UnixException.translateToIOException

at sun.nio.fs.UnixException.rethrowAsIOException

at sun.nio.fs.UnixException.rethrowAsIOException

at sun.nio.fs.UnixFileSystemProvider.newDirectoryStream

at java.nio.file.Files.newDirectoryStream

at java.nio.file.FileTreeWalker.visit

at java.nio.file.FileTreeWalker.next

at java.nio.file.FileTreeIterator.fetchNextIfNeeded

这只是一个例子。使用过滤器(…)可以解决异常问题。但是这个例子也可以扩展到其他用例。

简而言之就是这样可能,对于CLI,JavaFX等应用程序,通过java -jar app.jar方法从命令行执行后获得root权限?

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/134516
推荐阅读
相关标签
  

闽ICP备14008679号