fix

【独家】K8S漏洞报告 | CVE-2019-1002101解读

折月煮酒 提交于 2020-03-23 00:46:07
kubectl cp漏洞CVE-2019-1002101分析 Kube-proxy IPVS添加flag ipvs-strict-arp 近期bug fix数据分析 ——本期更新内容 kubectl cp漏洞 近期kubernetes的kubectl cp命令发现安全问题(CVE-2019-1002101),该问题严重程度比较高,建议将kubectl升级到Kubernetes 1.11.9,1.12.7,1.13.5或1.14.0版本以解决此问题。 kubectl cp命令允许用户在容器和主机之间复制文件,其基本原理是: 在源地址将文件打包。 打包输出内容作为stream流通过网络传递给目标地址。 传递路径包括:apiserver、kubelet、runtime stream流在目的地址作为tar的输入,解压。 具体执行过程可以参考kubernetes/pkg/kubectl/cmd/cp.go文件中的copyToPod和copyFromPod两个函数。 在这个过程中,如果容器中的tar二进制文件是恶意的,它可以运行任何代码并输出意外的恶意结果。当调用kubectl cp时,***者可以使用它将文件写入用户计算机上的任何路径,仅受本地用户的系统权限限制。 目前社区在1.11-1.14版本均修复了该问题,具体修复方式可参考: https://github.com/kubernetes

PHP-CS-Fixer:格式化你的PHP代码

萝らか妹 提交于 2020-01-02 04:52:24
简介 良好的代码规范可以提高代码可读性,团队沟通维护成本。最推荐大家遵守的是 php-fig (PHP Framework Interop Group) 组织定义的 PSR-1 、 PSR-2 两个。不了解的同学可以先通过链接点击过去阅读下。 这个工具的作用就是按照 PSR-1 和 PSR-2 的规范格式化你的代码。 安装 PHP需求:PHP最小版本5.3.6。 本地安装 安装很简单,下载php-cs-fixer.phar文件就行了。官方地址是: http://get.sensiolabs.org/php-cs-fixer.phar 国内的朋友如果下载很慢,可以使用百度云: 链接: http://pan.baidu.com/s/1qWUTd5y 密码: yith Composer方式安装 如果你还不了解 Composer ,请点击链接查看。 新建composer.json { "require" :{ "fabpot/php-cs-fixer":"*" },"config": { "secure-http": false } } 运行: composer update 稍等片刻,下载完成:目录生成了vendor文件夹。 设置全局: export PATH="$PATH:$HOME/.composer/vendor/bin" 注意

HBase 2.0.0 META 数据修复工具

 ̄綄美尐妖づ 提交于 2019-12-16 07:02:18
必须先吐槽一下 Cloudera 6.x 和 Hbase 2.0 太坑了! 不久前生产上的一套Hbase集群出现著名的RIT(Regions in Transition)问题。 查看hbase web ui 于是通过hbck命令查看一下集群状态,果然好多inconsistency ... ERROR: Region { meta => XXX,XXX:,1573019231000.ff2aecaf28917792395c341d01e0b8cc., hdfs => hdfs://nameservice1/hbase/data/default/XXX/ff2aecaf28917792395c341d01e0b8cc, deployed => , replicaId => 0 } not deployed on any region server. ... ERROR: Found inconsistency in table XXX ... 9 inconsistencies detected. Status: INCONSISTENT 看到错误提示问题明显了,这个Region在hdfs中有数据文件但没有依赖任何Region Server,原因可能region被原来的Region Server unassigned了,但是还没有被assigned到一个新的Region Server上

Fix Error sudo: add-apt-repository: not found

百般思念 提交于 2019-12-05 21:46:51
I got this error while I was trying to add a PPA at school, on a Ubuntu 12.04 LTS Server. To fix this error, you have to install the software-properties-common: $ sudo apt-get install software-properties-common just need to insatll this command is ok. ######################################################################## This is all. Now your command for adding PPAs works like a charm. If you want to find out how I have fixed this error by myself , without external / Google help, read further. I have search with apt-file for the add-apt-repository and found out in which package is the

R stacked percentage bar plot with percentage of binary factor and labels (with ggplot)

匿名 (未验证) 提交于 2019-12-03 02:30:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I want to produce a graphic that looks something like this: My original data set looks something like this: > bb[sample(nrow(bb), 20), ] IMG QUANT FIX 25663 1 1 0 7936 2 2 0 23586 3 2 0 23017 2 2 1 31363 1 3 1 7886 2 2 0 23819 3 3 1 29838 2 2 1 8169 2 3 1 9870 2 3 0 31440 2 1 0 35564 3 1 0 24066 1 2 0 12020 3 2 0 6742 3 2 0 6189 2 3 0 26692 2 3 0 1387 3 2 0 31839 2 3 1 28637 3 2 0 So the idea is that the bars display where FIX = 1 per factor QUANT and per factor IMG . I've aggregated my data set into percentages using plyr library(plyr) bb

并发编程之Executors(五)

匿名 (未验证) 提交于 2019-12-03 00:22:01
有了之前的ThreadPoolExecutor基础,本篇分析Executors就非常容易了。本文只讨论Executors类的几个创建线程池的方法,并对Fix和Single区别做了着重分析。 该类用于生成线程池,可以生成单线程线程池、固定线程数线程池等等。本科的好朋友让我分析下Fix和Single的区别,想必他也是忙的没时间,我尽量分析的透彻些。就从Single和Fix线程池开始吧。 public static ExecutorService newSingleThreadExecutor () { return new FinalizableDelegatedExecutorService //这里用到了装饰器模式,这是与Fix的唯一区别 ( new ThreadPoolExecutor ( 1 , 1 , 0 L , TimeUnit . MILLISECONDS , new LinkedBlockingQueue < Runnable >())); } public static ExecutorService newFixedThreadPool ( int nThreads ) { return new ThreadPoolExecutor ( nThreads , nThreads , 0 L , TimeUnit . MILLISECONDS , new

fix java exception

ⅰ亾dé卋堺 提交于 2019-12-02 17:23:19
1.import com.sun.image.codec.jpeg.JPEGCodec; 在Eclipse中处理图片,需要引入两个包: import com.sun.image.codec.jpeg.JPEGCodec; import com.sun.image.codec.jpeg.JPEGImageEncoder; 报错: Access restriction: The type JPEGImageEncoder is not accessible due to restriction on required library C:\Java\jre1.6.0_07\lib\rt.jar 此时解决办法: Eclipse默认把这些受访问限制的API设成了ERROR。只要把Windows-Preferences-Java-Complicer-Errors/Warnings里面的Deprecated and restricted API中的Forbidden references(access rules)选为Warning就可以编译通过。 2. Spring版本冲突造成的异常 异常1: java.lang.NoSuchMethodError: org.springframework.util.Assert.noNullElements([Ljava/lang/Object;Ljava

.net测试篇之测试神器Autofixture Generator使用与自定义builder

北战南征 提交于 2019-11-28 07:35:34
有了上一节自定义配置,很多问题都能解决了,但是如果仅仅是为了解决一个简单问题那么创建一个类显得有点繁重.其实AutoFixture在创建Fixture对象时有很多方便的Fluent配置,我们这里介绍一些比较常用了. 创建对象是忽略一些属性 有些时候有这样的一些业务场景,有些字段是非必填项,但是一旦填写则必须符合指定规则.这些非必填字段在业务中仅仅当它存在的时候做一些校验,其它地方并没有使用到它.这样在单元测试的时候我们为了效率可以暂时忽略这些字段.在后面集成测试的时候再提供完整数据. 下面看看AutoFixture在生成对象的时候如何显式地忽略一些字段 之所以要忽略是因为如果不忽略AutoFixture自动为字符串类型生成一个guid字符串,这将会导致验证失败. 我们扩展一下Person类,代码如下 public class Person { public string Name { get; set; } public int Age { get; set; } public DateTime BirthDay { get; set; } public string Mobile { get; set; } public string IDCardNo { get; set; } public string Email { get; set; } } 我们看配置代码 [Test]

.net测试篇之测试神器Autofixture基本配置一

戏子无情 提交于 2019-11-28 04:50:00
系列目录 实际工作中我们需要的数据逻辑万千,千变万化,而AutoFixture默认是按照一定算法随机生成一些假数据,虽然这在多数时候是ok的,但是可能不能满足我们的所有业务场景,有些时候我们需要进行一些配置,以期达到指定目标. AutoFixture简单使用 前面我介首先介绍的是AutoFixture如何与Nunit结合提供测试数据,这里我们介绍一下它自身,即脱离Nunit时它是如何工作起来的. 这里主要用到的就是Fixture对象的Create 泛型方法 看以下代码 [Test] public void FixValueTest() { var fix = new Fixture(); var str = fix.Create<string>(); } 通过以上代码,我们就可能创建一个string类型的对象,其它对象也是如法炮制. 下面我们来解决上一节中遗漏的一个问题,就是如何在创建集合的时候显式的指定个数. 其实也很简单,那就是在创建Fixture对象的时候指定一个RepeatCount,这样就可以生成指定数量的集合啦. 代码改为如下 [Test] public void FixValueTest() { var fix = new Fixture {RepeatCount = 10}; var str = fix.Create<IEnumerable<string>>();

commitlint_husky_介绍

我的梦境 提交于 2019-11-27 05:49:46
前言   在多人协作的背景下,git 仓库和 workflow 的作用很重要。而对于 commit 提交的信息说明存在一定规范,现使用 commitlint + husky 规范 git commit -m "" 中的描述信息。 commitlint git-hub: https://github.com/conventional-changelog/commitlint/ 搭建 commitlint: 安装,制定提交规范(采用默认) npm init npm install --save-dev @commitlint/ { config-conventional,cli } # windows 用下面这个命令 npm install --save-dev @commitlint/config-conventional @commitlint/cli # 将常规配置输出到 commitlint.config.js;采用默认配置 echo "module.exports = {extends: ['@commitlint/config-conventional']}" > commitlint.config.js husky: 还要为 git 配置 husky ,对 git 的 commit 操作进行校验 husky继承了Git下所有的钩子,在触发钩子的时候