1 Star 0 Fork 20

llqbaimao/elasticsearch-jcseg

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
security.policy 7.11 KB
一键复制 编辑 原始数据 按行查看 历史
/*
* Licensed to Elasticsearch under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
* @Note: from chenxin<chenxin619315@gmail.com>
* self define security policy file and extended from org/elasticsearch/bootstrap/security.policy
*/
/// // Default security policy file.
/// // On startup, BootStrap reads environment and adds additional permissions
/// // for configured paths and network binding to these.
///
/// //// SecurityManager impl:
/// //// Must have all permissions to properly perform access checks
///
/// grant codeBase "${codebase.securesm-1.1.jar}" {
/// permission java.security.AllPermission;
/// };
///
/// //// Very special jar permissions:
/// //// These are dangerous permissions that we don't want to grant to everything.
///
/// grant codeBase "${codebase.lucene-core-6.3.0.jar}" {
/// // needed to allow MMapDirectory's "unmap hack" (die unmap hack, die)
/// // java 8 package
/// permission java.lang.RuntimePermission "accessClassInPackage.sun.misc";
/// // java 9 "package"
/// permission java.lang.RuntimePermission "accessClassInPackage.jdk.internal.ref";
/// permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
/// // NOTE: also needed for RAMUsageEstimator size calculations
/// permission java.lang.RuntimePermission "accessDeclaredMembers";
/// };
///
/// grant codeBase "${codebase.lucene-misc-6.3.0.jar}" {
/// // needed to allow shard shrinking to use hard-links if possible via lucenes HardlinkCopyDirectoryWrapper
/// permission java.nio.file.LinkPermission "hard";
/// };
///
/// //// Everything else:
///
/// grant {
///
/// // checked by scripting engines, and before hacks and other issues in
/// // third party code, to safeguard these against unprivileged code like scripts.
/// permission org.elasticsearch.SpecialPermission;
///
/// // Allow connecting to the internet anywhere
/// permission java.net.SocketPermission "*", "accept,connect,resolve";
///
/// // Allow read access to all system properties
/// permission java.util.PropertyPermission "*", "read";
///
/// // TODO: clean all these property writes up, and don't allow any more in. these are all bogus!
///
/// // LuceneTestCase randomization (locale/timezone/cpus/ssd)
/// // TODO: put these in doPrivileged and move these to test-framework.policy
/// permission java.util.PropertyPermission "user.language", "write";
/// permission java.util.PropertyPermission "user.timezone", "write";
/// permission java.util.PropertyPermission "lucene.cms.override_core_count", "write";
/// permission java.util.PropertyPermission "lucene.cms.override_spins", "write";
/// // messiness in LuceneTestCase: do the above, or clean this up, or simply allow to fail if its denied
/// permission java.util.PropertyPermission "solr.solr.home", "write";
/// permission java.util.PropertyPermission "solr.data.dir", "write";
/// permission java.util.PropertyPermission "solr.directoryFactory", "write";
///
/// // set by ESTestCase to improve test reproducibility
/// // TODO: set this with gradle or some other way that repros with seed?
/// permission java.util.PropertyPermission "processors.override", "write";
///
/// // TODO: these simply trigger a noisy warning if its unable to clear the properties
/// // fix that in randomizedtesting
/// permission java.util.PropertyPermission "junit4.childvm.count", "write";
/// permission java.util.PropertyPermission "junit4.childvm.id", "write";
///
/// // needed by Settings
/// permission java.lang.RuntimePermission "getenv.*";
///
/// // thread permission for the same thread group and ancestor groups
/// // (this logic is more strict than the JDK, see SecureSM)
/// permission java.lang.RuntimePermission "modifyThread";
/// permission java.lang.RuntimePermission "modifyThreadGroup";
///
/// // needed by ExceptionSerializationTests and RestTestCase for
/// // some hackish things they do. otherwise only needed by groovy
/// // (TODO: clean this up?)
/// permission java.lang.RuntimePermission "getProtectionDomain";
///
/// // needed by HotThreads and potentially more
/// // otherwise can be provided only to test libraries
/// permission java.lang.RuntimePermission "getStackTrace";
///
/// // needed by JMX instead of getFileSystemAttributes, seems like a bug...
/// permission java.lang.RuntimePermission "getFileStoreAttributes";
///
/// // needed for jimfs and NewPathForShardsTests
/// // otherwise can be provided only to test libraries
/// permission java.lang.RuntimePermission "fileSystemProvider";
///
/// // needed by jvminfo for monitoring the jvm
/// permission java.lang.management.ManagementPermission "monitor";
///
/// // needed by JDKESLoggerTests
/// permission java.util.logging.LoggingPermission "control";
///
/// // load averages on Linux
/// permission java.io.FilePermission "/proc/loadavg", "read";
///
/// // read max virtual memory areas
/// permission java.io.FilePermission "/proc/sys/vm/max_map_count", "read";
///
/// // io stats on Linux
/// permission java.io.FilePermission "/proc/diskstats", "read";
///
/// // control group stats on Linux
/// permission java.io.FilePermission "/proc/self/cgroup", "read";
/// permission java.io.FilePermission "/sys/fs/cgroup/cpu", "read";
/// permission java.io.FilePermission "/sys/fs/cgroup/cpu/-", "read";
/// permission java.io.FilePermission "/sys/fs/cgroup/cpuacct", "read";
/// permission java.io.FilePermission "/sys/fs/cgroup/cpuacct/-", "read";
///
/// /*
/// * Limited security policy for scripts.
/// * This is what is needed for basic functionality to work.
/// */
/// // groovy IndyInterface bootstrap requires this property for indy logging
/// permission java.util.PropertyPermission "groovy.indy.logging", "read";
/// // groovy requires this to enable workaround for certain JVMs (https://github.com/apache/groovy/pull/137)
/// permission java.util.PropertyPermission "java.vm.name", "read";
/// permission java.util.PropertyPermission "groovy.use.classvalue", "read";
///
/// // needed by Rhino engine exception handling
/// permission java.util.PropertyPermission "rhino.stack.style", "read";
///
/// // needed IndyInterface selectMethod (setCallSiteTarget)
/// // TODO: clean this up / only give it to engines that really must have it
/// permission java.lang.RuntimePermission "getClassLoader";
/// };
//@Note added at 2017/01/03 by lionsoul
grant {
permission java.io.FilePermission "../lexicon/-", "read";
};
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/lovelynicky/elasticsearch-jcseg.git
git@gitee.com:lovelynicky/elasticsearch-jcseg.git
lovelynicky
elasticsearch-jcseg
elasticsearch-jcseg
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385