在 java 安全策略中阻止某些权限并授予其他权限
Block some permissions and grant other permissions in java security policy
我想按以下方式实施安全策略文件:-
- 限制对除 3 个目录中的文件之外的所有文件的访问,即如果代码访问这 3 个目录中的文件,应该允许,但限制对任何其他目录的文件访问。
- 授予对代码库的所有其他权限。
我该如何继续为此要求创建策略文件。
您需要创建下一个策略文件 (yourPolicy.policy):
grant codeBase "file:/location_of_your_code/-" {
permission java.io.FilePermission "/tmp/f1/*", "read, write";
permission java.io.FilePermission "/tmp/f2/*", "read, write";
permission java.io.FilePermission "/tmp/f3/*", "read, write";
};
并使用下一个参数启动您的代码:
java -Djava.security.manager -Djava.security.policy=yourPolicy.policy YourClassName
它将限制您的 java 程序只能访问这三个文件夹。
关于“授予所有其他权限”的要求,您似乎无法使用 java 策略语法授予所有权限并覆盖某些特定权限(仅授予对三个文件夹的访问权限)。因此,您需要明确指定要授予应用程序的所有权限。
我想按以下方式实施安全策略文件:-
- 限制对除 3 个目录中的文件之外的所有文件的访问,即如果代码访问这 3 个目录中的文件,应该允许,但限制对任何其他目录的文件访问。
- 授予对代码库的所有其他权限。
我该如何继续为此要求创建策略文件。
您需要创建下一个策略文件 (yourPolicy.policy):
grant codeBase "file:/location_of_your_code/-" {
permission java.io.FilePermission "/tmp/f1/*", "read, write";
permission java.io.FilePermission "/tmp/f2/*", "read, write";
permission java.io.FilePermission "/tmp/f3/*", "read, write";
};
并使用下一个参数启动您的代码:
java -Djava.security.manager -Djava.security.policy=yourPolicy.policy YourClassName
它将限制您的 java 程序只能访问这三个文件夹。
关于“授予所有其他权限”的要求,您似乎无法使用 java 策略语法授予所有权限并覆盖某些特定权限(仅授予对三个文件夹的访问权限)。因此,您需要明确指定要授予应用程序的所有权限。