gpt4 book ai didi

java - 如何使用 ProcessBuilder 限制目录?

转载 作者:行者123 更新时间:2023-12-01 19:35:28 28 4
gpt4 key购买 nike

我希望一个进程仅对一个目录具有访问权限。如果进程尝试写入另一个目录,则应受到限制。

我尝试了 directory() 方法,但这仅设置默认值。

 ProcessBuilder processBuilder = new ProcessBuilder();
File allowedDir = new File(System.getProperty("user.home") + "/allowedDirectory/");

// setting allowed directory
processBuilder.directory(allowedDir);

//expect this to fail
processBuilder.command("cmd.exe", "/c", "rmdir /s /q \"C:\\Users\\restrictedDirectory\\restrictedFolder\"");
Process process = processBuilder.start();
int errCode = process.waitFor();

但是,我预计会失败的命令可以正常工作并删除 restrictedDirectory 中的文件。如何限制ProcessBuilder仅对单个目录具有访问权限?

最佳答案

这是不可能的 - ProcessBuilder 只是在您的计算机上执行程序,而不是在沙箱中运行它们。

ProcessBuilder#directory(File)设置进程的工作目录

关于java - 如何使用 ProcessBuilder 限制目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57860400/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com