Author: moneyslow
-

如何设置mysql库只读?
执行: set global read_only=1 即可。 以下是相关说明: 1、对于数据库读写状态,主要靠“read_only”全局参数来设定; 2、默认情况下,数据库是用于读写操作的,所以read_only参数也是0或faluse状态,这时候不论是本地用户还是远程访问数据库的用户,都可以进行读写操作; 3、如需设置为只读状态,将该read_only参数设置为1或TRUE状态,但设置read_only=1状态有两个需要注意的地方: 1)read_only=1只读模式,不会影响slave同步复制的功能,所以在MySQLslave库中设定了read_only=1后,通过showslavestatus\G,命令查看salve状态,可以看到salve仍然会读取master上的日志,并且在slave库中应用日志,保证主从数据库同步一致; 2)read_only=1只读模式,可以限定普通用户进行数据修改的操作,但不会限定具有super权限的用户的数据修改操作;在MySQL中设置read_only=1后,普通的应用用户进行insert、update、delete等会产生数据变化的DML操作时,都会报出数据库处于只读模式不能发生数据变化的错误,但具有super权限的用户,例如在本地或远程通过root用户登录到数据库,还是可以进行数据变化的DML操作; 那么super用户怎么控制读写? 1、为了确保所有用户,包括具有super权限的用户也不能进行读写操作,就需要执行给所有的表加读锁的命令“flushtableswithreadlock;”这样使用具有super权限的用户登录数据库,想要发生数据变化的操作时,也会提示表被锁定不能修改的报错。 1)这样通过设置“read_only=1”和“flush tables with read lock;”两条命令,就可以确保数据库处于只读模式,不会发生任何数据改变。 2)但同时由于加表锁的命令对数据库表限定非常严格,如果在slave从库上执行这个命令后,slave库可以从master读取binlog日志,但不能够应用日志,slave库不能发生数据改变,当然也不能够实现主从同步了,这时如果使用“unlocktables;”解除全局的表读锁,slave就会应用从master读取到的binlog日志,继续保证主从库数据库一致同步。 2、为了保证主从同步可以一直进行,在slave库上要保证具有super权限的root等用户只能在本地登录,不会发生数据变化,其他远程连接的应用用户只按需分配为select,insert,update,delete等权限,保证没有super权限,则只需要将salve设定“read_only=1”模式,即可保证主从同步,又可以实现从库只读。 3、设定“read_only=1”只读模式开启的解锁命令为设定“read_only=0”;设定全局锁“flushtableswithreadlock;”,对应的解锁模式命令为:“unlocktables;”. 4、当然设定了read_only=1后,所有的select查询操作都是可以正常进行的。 ———————————————— 版权声明:本文为CSDN博主「JetBrains_孙健」的原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/sj349781478/article/details/77745104
-

2020年利用blogspot免费博客赚钱是否可行?
blogspot是谷歌官方技术维护的博客平台,已经有数亿的索引量: 今天说说它的几个缺点: 1、选择Blogspot 做免费网站的理由除了你是网站初学者之外,最重要的理由,我想你应该是跟我一样的。那就是使用「免费」的网站,又不像其他平台一样有烦人的广告,岂不美哉?在当时来看这样的选择是合理的,但时间拉到现在来看,或许就不太适合了。当你刚使用Blogspot的时候,你一开始会拥有一个属于Blogger的子域名,也就是「example.blogspot.com」。在我使用的那个时期,Blogger 还不支持自订义域名,不过在那时的我也不太了解这与SEO 之间会有什么样的差别,这点我们放到后面一点再来谈。总而言之,现在的我会建议你,若真的要选择一个免费的网站来撰写你的博客,选择Blogspot并不一定是个好选择。2020年利用blogspot搭建免费博客好吗?2、既然是免费,就会有各种个样的限制如果你是刚建立的新网站,这点对你的影响可能不大。但随着你经营的时间越来越长,或是根据你行业类别的不同,又或者你是一家公司企业,每天会有发布上百上千篇内容的需求(新闻制造业?),那么此时这就会是一个问题了。会建议你避免使用Blogspot的原因在于,它每天的发文限制在100篇,因此如果你的每日发文数量会超过100篇,那么你该怎么办?对没错,我不知道该怎么办。而此限制的原因,是因为Blogger 常常被用来作为是黑帽SEO 进行垃圾网站建立的首选之一。这些人会利用Blogger 的免费与容易创建的特性,使其成为站群,建立庞大的垃圾内容网站。虽然这个限制的次数会随着Google的政策而有所出入,但是,若你在短时间内发表太多新文章,很有可能会导致发文受到限制。你有更多更好的选择,像是使用WordPress网站,无论是WordPress.org还是WordPress.com都可以,这两个也都是免费架设博客、网站的好选择。有兴趣,你可以看我另外一篇WordPress与Blogspot的分析比较。当然,你也可以选择像是Medium的平台来开始写作,使用Medium的好处在于你不需要担心SEO、网站速度、网站架构、使用者体验等问题,如果你对于架设网站并没有兴趣也没有太多的知识,只想专心好好创作文字的话,那么Medium是一个好选择。此外,Blogger在「标签」的设定上,一个网站的上限是5000个标签。当然一般人要达到5000的上限并不是一个非常简单的事情。但,我们这里是以「长期」来看Blogger的限制,甚至于说缺点。因此,这个上限也是你需要考量进去的因素之一。简言之,在一开始投入时,你就必须以大局观来做决定。此时你必须了解你的目的为何:你建立这个网站是玩玩的还是认真的?你是想要赚钱还是休闲兴趣创作?你是想学习架设网站吗?还是需要建立企业网站?如果你是认真的,那么以长期来看,Blogger可能就不是一个最好的选择。别误会了,如果你想要选择这个平台做为一个兴趣、创作的地方,那也很好。没有人会说这是一定不对的,我也认为Blogger是一个很好的博客平台。我只是建议,以长期来看,是我的话,不会花费太多的时间在Blogspot平台上建立网站与内容。如果你有能力的话,我会建议你花一点小钱购买属于自己的域名与自己的虚拟主机,如果你的目的是创业或是建立一个属于自己的品牌(无论是个人品牌或是草创品牌都是如此),那么Blogger不会是作为品牌网站的最好选择(当然要的话也是可以),相反的你应该选择自由度较高的WordPress才是理想做法。3、不良的架构导致你排名不佳相信有不少人和我想的一样,那就是「既然Blogger是Google的产品,那么使用Blogspot建立的网站,排名一定会比较好」,的这种想法。只能说当初的我是好傻好天真。如果你有使用过Blogspot 建立过网站的话,你就会明白,它的网站架构是基于一个HTML 的编辑器来管理整个网站的。这代表,你没办法对个别的分类、标签、页面、文章,进行个别、针对性地优化,甚至于架构方面的优化你也很难去达成。如今2019年要做SEO已经是难上加难了,你又何必选择Blogspot让自己更加痛苦呢?想要提升排名,最重要的就是网站架构、网站内容与反向连结,而Blogger在架构方面就已经在起跑点上输了别人一大截,更不用说要搞好它的内部连结是更加困难了。4、无法建立你的网站权重若你选择由Blogspot 所提供的免费子域名(预设都一定会有),那么你建立的网站尽管内容再优秀,你的权重都是属于它的。做SEO 的都知道一个道理,那就是培养网站(域名)是非常重要的一件事。一个建立很多年、累积很多权重的域名,跟一个新注册的域名相比,两者所发布的文章对于Google 来说,在收录、给予新文章的权重方面…等等,都是天壤之别。因此拥有你自己的域名对排名是非常重要的,同时有自己的域名,才能够代表你是一个真正的品牌。还记得我们前面谈到的你需要建立自己的品牌吗?因此,回到网站权重这点来看,选择Blogspot 就不会是一个好的选择,因为你几乎无法获得任何的权重。尽管你会认为,你可以透过建立名声的方式,不一定要有自己的网域,但是同样的,很少人会选择连结用Bogpost 的网站。相对的,要别人连结到Medium 上所创作的文章,反而会提高他们的连结意愿。这样,你就会损失获得外部连结的机会,又更加不利于你的排名了。5、你受到条款与规定的限制别忘了,当你使用Blogger 时,你需要「允许」他们的使用条款,我敢打赌你从来没看过任何的条款就接受了。毕竟,你不接受就没办法使用这个服务。这代表在某个时刻,你日积月累的文章内容,很可能会在一夕之间被删除。想想看,如果你不小心(或故意)违反他们条款当中的规定,那么你的网站就会被删掉。另一个说法就是,你并没有拥有你的网站的控制权。自己购买的域名与自己购买的虚拟主机的好处就在于,不管是域名还是网站,你都有完整的控制权,你几乎不受到任何的限制(当然非法还是不行)。以下为使用Blogspot 平台所会遇到的限制:帐户限制1.每个Google帐号可以建立不超过100个Blogspot网站。2.关于我的个人资料文字限制为1200个字元。3.其他资讯的栏位不能超过2000个字元。博客限制1.在整个网站当中,文章总数没有上限。2. 静态网页的部分却只能建立20个页面。3.在页面大小方面有着1MB为上限的限制。4.单篇文章的标签上限为20个。媒体限制1.每个网站有免费1GB的媒体储存空间。2.图片数量无上限,仅限制总容量为1 GB以下。3.影片数量无上限,但仍受限于总容量1 GB的限制。6、Google Adsense 广告投放不管是透过WordPress 建立网站还是使用Blogspot,你都可以利用这些网站申请Google Adsense 来投放广告,虽然两者都是需要经过审核的,在Blogger 上的申请,并不会因为同是Google 的服务,就会比较容易通过审查。尽管今天你的网站顺利通过Google Adsense 的审查,在Blogspot 上投放的Adsense 没办法像WordPress 那样有更灵活的自由度。对于懂得修改Blogspot 程式码的人来说可能不是大问题,但对于不懂得人来说,WordPress 在这方面的自由度会较高也较容易操作。(备注:在2016年8月时,Google已经更改Google Adsense条款,因此现在可以在单个页面上投放超过3个广告栏位了。) – Google Adsense因此在于版面上,你也很难去客制化你的广告显示位置。这就是我为什么会说,Blogspot 在网站架构的灵活与自由度方面是处处受限的。这也是前面提到不利于SEO 架构是相关联的。如果你并非是非常熟悉Blogspot 网站设计的人,那么要你去客制化设定是非常困难的事。困难的地方不仅在于你需要很理解HTML 与CSS3 的语法,同时Blogger 也有专属于它的编码,因此等于你需要在学习一种程式语言。看到这里,还记得你当初选择Blogspot 的原因之一除了免费之外,就是你是网站初学者吗?所以不要花费太多的时间来搞你的网站,即使要花时间学习,我也倾向建议你把这些时间花在学习架设WordPress网站上。7、blogspot.com 渐渐变成垃圾网站的代名词在过去,广泛建立Web 2.0网站是一种流行的灰帽(甚至是黑帽)SEO手法。由于Blogspot是免费的,因此很多灰帽SEO会使用它来建立大量的垃圾网站,借此创造很多反向连结,这是一个很简单又免费获得外部连结的方式之一。在过去这种方式之所以泛滥是因为这样做有效,但时至今日,这种做法已经无效甚至是对网站有害了。但这免不了Blogger 被容易视为是垃圾网站的命运了。这样,你还会想要使用Blogger 作为你的博客平台吗?Blogspot 就像FeedBurner 一样,被视为是垃圾网站与垃圾邮件,但Google 却又似乎无法弃用他们。8、自定义网站的域名没有那么容易,别被套路了。你可能会有个疑问:「Blogspot 不是可以自定义域名吗?这样我不就可以拥有域名的权重了?」话虽如此,但实际上还有许多问题需要解决(或无法解决的问题)。Blogspot…
-
wordpress在新窗口打开链接文章
最新方法: 很简单,需要编辑主题模版文件。 外观–主题编辑器–找到 header.php 在head标签里最下面增加 <base target=”_blank”>
-

sudo提权漏洞sudo版本升级方法(Sudo配置不当致权限提升漏洞CVE-2019-14287)
Sudo配置不当的情况下,本地攻击者通过构造特殊命令,可以绕过Sudo限制以root身份在服务器上执行任意命令。漏洞实际利用场景为本地提权,风险较低。 漏洞描述:当/etc/sudoers 文件中存在 *=(ALL, *) 形式的配置时,本地攻击者可以通过指定用户ID为-1或者4294967295,从而以root权限在服务器上执行命令。 漏洞评级 CVE-2019-14287 低危 影响版本 Sudo < 1.2.28 安全建议 升级Sudo版本到 1.2.28 官方说明: https://www.sudo.ws/alerts/minus_1_uid.html sudo漏洞的判断: $ sudo id Sorry, user a is not allowed to execute ‘/bin/id’ as root. 提权成功: $ sudo -u#-1 id uid=0(root) gid=0(root) groups=0(root) sudo漏洞修复的效果: $ sudo -u#-1 id -u sudo: unknown user: #-1 sudo: unable to initialize…
-

400 bad request The plain HTTP request was sent to HTTPS port解决办法
现象:https可以访问,但是http报400 bad request错误。 看报错: 本以为是个牛逼的配置,没想到报错了。 先查400状态码的解释,HTTP/1.1对400 Bad Request的定义: 1、语义有误,当前请求无法被服务器理解。除非进行修改,否则客户端不应该重复提交这个请求。 2、请求参数有误。 这就很好理解了,我们又没有参数,肯定是第一个原因,我们试图通过HTTP访问网站,这个请求被重定向到HTTPS。 if ($ssl_protocol = “”) { rewrite ^ https://$server_name$request_uri? permanent; } Nginx的配置里是有“ssl on”这一条的,所以肯定使用SSL交互,但是你的request都是HTTP请求,所以就是bad request,于是就是80的请求无法被服务器的443理解。 so,把nginx里的ssl on注释掉,问题解决。 2019年11月2日更新: 最新情况发现,按照以上的解决办法简单注释ssl on,并没有效果,如果用chrome浏览器打开隐私窗口,访问https页面,依据报400错误。用curl来验证: $ curl -I http://moneyslow.com HTTP/1.1 400 Bad Request Server: nginx/1.14.0 (Ubuntu) Date: Sat, 02 Nov 2019 03:09:46 GMT Content-Type: text/html Content-Length: 280 Connection: close header返回400错误依旧。 实际上,解决方法非常简单。在“listen”字符串下的服务器部分,我只需要添加:…
-

gitlab forbidden 解决办法(gitlab的rack::attack机制)
版本:GitLab Community Edition 10.8.7 现象:小部分用户web访问gitlab显示403 forbidden。 原因:gitlab有rack::attack模块,来防治恶意ip刷机,其详细文档:https://docs.gitlab.com/ee/security/rack_attack.html 确定是否是这个原因: 1、查日志 # cd /var/log/gitlab/gitlab-rails/ # grep ‘Rack_Attack’ production.log|more Rack_Attack: blacklist 192.130.160.212 GET /xxx Rack_Attack: blacklist 192.130.160.212 GET /xxxxxx Rack_Attack: blacklist 192.130.160.212 GET /xxxxxxxx 确认这个ip是否是访问者的ip 2、进入redis: # /opt/gitlab/embedded/bin/redis-cli -s /var/opt/gitlab/redis/redis.socket redis /var/opt/gitlab/redis/redis.socket> keys *rack::attack* 1) “cache:gitlab:rack::attack:26176509:allow2ban:count:192.130.160.212” 2) “cache:gitlab:rack::attack:allow2ban:ban:192.130.160.212” 通过两步即可确认,就是这个原因。在redis里清除该条即可: del cache:gitlab:rack::attack:allow2ban:ban:192.130.160.212 总结:从11版本开始,官方默认不开启这个功能: Note: Starting with GitLab 11.2, Rack…
-

nginx 301 rewrite 跳转到www域名的方法
转自 刘荣星的博客,转载时请注明出处及相应链接。https://www.liurongxing.com/nginx-301-www-rewrite.html 首先一、得在你的域名管理里面定义 moneyslow.com和www.moneyslow.com指向你的主机ip地址,我们可以使用nslookup命令测试: 直接输入 nslookup moneyslow.com和nslookup www.moneyslow.com 都有指向ip的A记录即可。 第二、我们才能在nginx里面配置rewrite规则。 打开 nginx.conf文件找到你的server配置段: server { listen 80; server_name www.moneyslow.com moneyslow.com; if ($host != ‘www.moneyslow.com’ ) { rewrite ^/(.*)$ http://www.moneyslow.com/$1 permanent; } …….. 这样就是用户直接访问moneyslow.com直接跳转的www.moneyslow.com。 即让不带www的域名跳转到带www的域名。 办法2:在配置文件里面写两个server,第一个里面把不带www的域名去掉 server { listen 80; server_name www.moneyslow.com; 在配置文件的最下面添加上,这样就可以了。 server { server_name moneyslow.com; rewrite ^(.*) http://www.moneyslow.com/$1 permanent; } 如果有多个不同的域名都绑定在同一个目录下不带3W的301到带3W的方法和上面的一样 在vhost的完整配制里后面加上 server { server_name…
-

mariadb mysql 内存优化
mysql经常需要调优,在大内存情况下,可以参考,原文地址: https://coding3min.com/mariadb-better/ 摘要:我们在使用mariadb的时候发现有时候不能启动起来,在使用过程中mariadb占用的内存很大,在这里学习下mariadb与内存相关的配置项,对mariadb进行调优。 查询最高内存占用 使用以下命令可以知道mysql的配置使用多少 RAM SELECT ( @@key_buffer_size + @@query_cache_size + @@innodb_buffer_pool_size + @@innodb_additional_mem_pool_size + @@innodb_log_buffer_size + @@max_connections * ( @@read_buffer_size + @@read_rnd_buffer_size + @@sort_buffer_size + @@join_buffer_size + @@binlog_cache_size + @@thread_stack + @@tmp_table_size ) ) / (1024 * 1024 * 1024) AS MAX_MEMORY_GB; 可以使用mysql计算器来计算内存使用 下面是理论,可以直接到推荐配置 如何调整配置 key_buffer_size(MyISAM索引用) 指定索引缓冲区的大小,它决定索引处理的速度,尤其是索引读的速度。为了最小化磁盘的 I/O , MyISAM 存储引擎的表使用键高速缓存来缓存索引,这个键高速缓存的大小则通过 key-buffer-size 参数来设置。如果应用系统中使用的表以…
-

centos8发布了,看看有哪些新功能?
centos8发布了,其最新的官方maillist地址: https://lists.centos.org/pipermail/centos-announce/2019-September/023449.html 其中release note 的最新地址为: https://wiki.centos.org/zh/Manuals/ReleaseNotes/CentOS8.1905 CentOS-8还是基于上游的Red Hat企业级LinuxRHEL1的源代码。仍然遵守RedHat的再发行政策,与上游产品在功能上完全兼容。 CentOS对组件的修改主要是去除了RedHat的商标及美工图。 来看看主要变化: 地址:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/8.0_release_notes/overview 1、Shells and command-line tools shell和命令行工具: 提供了Git 2.18, Mercurial 4.8, 和 Subversion 1.10. 2、web,数据库,编程语言变化: 编程语言相关:除了新增的Node.js,其他都是更新:Python默认版本3.6;PHP 7.2;Ruby 2.5;Perl 5.26;SWIG 3.0 数据库相关:MariaDB 10.3, MySQL 8.0, PostgreSQL 10, PostgreSQL 9.6, and Redis 5. web引擎:Apache HTTP Server 2.4 and introduces a new web server, nginx 1.14. 缓存代理:Squid 4.4, 新增…
-
如何为网站申请获取免费的Https证书(傻瓜教学,是傻瓜就进来)
这篇文章是科普,老鸟忽略。 我们如果想把网址http改成https,需要https的证书。 阿里云有免费的https证书申请,因为阿里云和证书厂商合作,有接口,直接签。 所以我们不用和https证书厂商直接打交道,只要在阿里云有账号,有域名,就可以申请。 下面是详细步骤: 1、在阿里云首页的产品与服务里找到ssl证书项目 2、点击购买证书 3 看到下面的图,默认是花钱的,你需要按照我标识的12345步骤去点: 4 到了付款界面,打勾付款,是0元。免费。 5 点击确认金额 6 支付成功界面 7 支付成功后,会显示一个待申请证书的界面。点击右下角的申请证书,需要开始填资料了。 8 这个界面里填资料,一般会自动带出来,就是写清楚你的身份信息,供核查。个人的话一般阿里云也不鸟你。等一会就证书下来了。 好了,申请完了。等几分钟,再到界面里看,证书就是已签发状态了。可以下载了。 证书有很多格式,根据你的web引擎去选择下载。 好了,这里申请免费https证书的步骤就结束了。
-
Install 安装 PHP7.2 NGINX and PHP7.2-FPM on Ubuntu 16.04
########## Install NGINX ############## # Install software-properties-common package to give us add-apt-repository package sudo apt-get install -y software-properties-common # Install latest nginx version from community maintained ppa sudo add-apt-repository ppa:nginx/stable # Update packages after adding ppa sudo apt-get update # Install nginx sudo apt-get install -y nginx # Check status sudo service nginx # Start…
-
shell下利用awk sort uniq 对nginx日志进行统计分析 access log分析工具
########## 页面访问统计 ########## 查看访问最频的页面(TOP100) awk ‘{print $7}’ access.log | sort |uniq -c | sort -rn | head -n 100 查看访问最频的页面([排除php页面】(TOP100) grep -v “.php” access.log | awk ‘{print $7}’ | sort |uniq -c | sort -rn | head -n 100 查看页面访问次数超过100次的页面 cat access.log | cut -d ‘ ‘ -f 7 | sort |uniq -c | awk…
-

开源协议有哪些?BSD,Apache,GPL,LGPL,MIT
现今存在的开源协议很多,而经过Open Source Initiative组织通过批准的开源协议目前有97 种。我们在常见的开源协议如BSD,GPL,LGPL,MIT等都是OSI批准的协议。如果要开源自己的代码,最好也是选择这些被批准的开源协议。这里我们来看四种最常用的开源协议及它们的适用范围,供那些准备开源或者使用开源产品的开发人员/厂家参考。 BSD开源协议(original BSD license、FreeBSD license、Original BSD license) BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由 的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。 但”为所欲为”的前提当你发布使用了BSD协议的代码,或则以BSD协议代码为基础做二次开 发自己的产品时,需要满足三个条件: 如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。如果再发布 的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。 不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。 BSD代码鼓励代码共享,但需要尊重代码作者的著作权。BSD由于允许使用者修改和重新发布 代码,也允许使用或在BSD代码上开发商业软件发布和销售,因此是对商业集成很友好的协议。而 很多的公司企业在选用开源产品的时候都首选BSD协议,因为可以完全控制这些第三方的代码,在 必要的时候可以修改或者二次开发。 Apache Licence 2.0(Apache License, Version 2.0、Apache License, Version 1.1、Apache License, Version 1.0) Apache Licence是著名的非盈利开源组织Apache采用的协议。该协议和BSD类似,同样 鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)。需要满足 的条件也和BSD类似: 需要给代码的用户一份Apache Licence,如果你修改了代码,需要在被修改的文件中说明。 在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他 原来作者规定需要包含的说明。 如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache Licence。 你可以在Notice中增加自己的许可,但不可以表现为对Apache Licence构成更改。 Apache Licence也是对商业应用友好的许可。使用者也可以在需要的时候修改代码来满足需 要并作为开源或商业产品发布/销售。 GPL(GNU General Public License) 我们很熟悉的Linux就是采用了GPL。GPL协议和BSD,Apache Licence等鼓励代码重用的 许可很不一样。GPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用,但…
-

数字签名图解(What is a Digital Signature)
一个老外写的数字签名的图解,备忘。 https://moneyslow.com/html/Digital_Signature/index.html
-

discus上传文件出现413错误码 解决方案
在nginx.conf http段配置文件中配置允许客户端请求文件大小为100M client_max_body_size 100m; #允许客户端请求的最大单文件字节数 client_body_buffer_size 128k; #缓冲区代理缓冲用户端请求的最大字节数 systemctl restart nginx
-
grep出多个条件的行
例子: 找出ok:开头,并且包含$1的行。 再次grep包含$1的行,包括其前一行,打印出来,带颜色 egrep -E “^ok:|$1” *.psef|grep -B 1 $1 –color 放到一个sh文件里,比如寻找xxx,执行: ./youscript xxx
-

find排除一个或多个目录的方法
百度就是垃圾,搜索结果千篇一律,错抄错。google一下,总结find排除某个目录的方法: How to exclude a directory in find . command Use the -prune switch. For example, if you want to exclude the misc directory just add a -path ./misc -prune -o to your find command: 寻找当前目录,排除misc目录,文件类型txt: find . -path ./misc -prune -o -name ‘*.txt’ -print Here is an example with multiple directories: 排除多个目录dir1,dir2,dir3的做法: find .…
-

F5 irule 实现URL 根据目录 转到相关pool
例如 xxx.com/abc/ 的请求由 pool_abc 处理 建立irules: when HTTP_REQUEST { if { [HTTP::host] eq “xxx.com” } { if { ([HTTP::uri] starts_with “/abc/”) } { pool pool_abc } } } 在Virtual Servers里的 Resources 里的 iRules 的 Manage 添加这个irules:
-

可以使用多个身份登陆的浏览器multilogin介绍
后续有个该浏览器的简单介绍,可以参考: 多身份登陆浏览器multilogin有个形象的图例,原来用物理设备来区分身份,现在可以用模拟浏览器来完成这个任务了: 可以换的选项有操作系统、浏览器(类火狐/迷你Mimic),代理配置、时区配置 是的,你可以更换操作系统:windows、Linux、Mac os 代理也有多种选择,http代理,socks4/5,更高级的proxy over ssh 时区配置,基于外网地址的自动判断,也可以自定义 webRTC 协议的外网地址配置 地理位置可以自定义,精确到100米以内可选 高级选项里可以自定义UA,显示器尺寸,语言。 字体: 多媒体设备,几个音频,输入输出 硬件配置 浏览器扩展: 存储选项 浏览器插件 其他选项
-

centos7的systemctl启动项优化
使用 systemctl list-unit-files 可以查看启动项 systemctl list-unit-files | grep enable 过滤查看启动项如下 abrt-ccpp.service enabled abrt为auto bug report的缩写 用于bug报告 关闭 abrt-oops.service enabled ———————- abrt-vmcore.service enabled ———————- abrt-xorg.service enabled ———————- abrtd.service enabled ———————- auditd.service enabled 安全审计 保留 autovt@.service enabled 登陆相关 保留 crond.service enabled 定时任务 保留 dbus-org.freedesktop.NetworkManager.service enabled 桌面网卡管理 关闭 dbus-org.freedesktop.nm-dispatcher.service enabled ———————- getty@.service enabled tty控制台相关 保留 irqbalance.service enabled 优化系统中断分配…
-

Ubuntu 16.04安装MariaDB Master and Slave Replication主从配置
原文标题:How to Setup MariaDB Master and Slave Replication on Ubuntu 16.04 Requirements Two fresh Alibaba Cloud instance with Ubuntu 16.04 installed. A static IP address 192.168.0.101 is configured on the Master node and 192.168.0.102 is configured on the Slave node. A Root password is set up on both instance. Launch Alibaba Cloud ECS Instance First,…
-

mariadb mysql_secure_installation 找不到 socket
加个环境变量:export MYSQL_UNIX_PORT=/xxx/youwebsite/mysql.sock
-

centos7下mariadb不能增加连接数max_connections不生效
MySQL values open_files_limit and max_connections are not applied 你虽然在配置文件已经加了: grep -i ‘max_connections’ /etc/my.cnf max_connections=2048 但是不生效: plesk db “SHOW GLOBAL VARIABLES LIKE ‘max_connections’ \G” *************************** 1. row *************************** Variable_name: max_connections Value: 214 查看报错: The value of open_files_limit is reset after system updates are installed. In the log file /var/log/mysqld.log the following records can be found: [Warning]…
-
windows的135、137、138、139、445端口是做什么用的?
如果全是2000以上的系统,可以关闭137.138.139,只保留445 如果有xp系统,可能以上四个端口全部要打开 无论你的服务器中安装的是Windows 2000 Server,还是Windows Server 2003,它们无一例外会在默认安装下开通135端口、137端口、138端口、139端口和445端口。这些端口可以说都是一把“双刃剑”,它们既能为你提供便利,也会反过来,被其他人非法利用,成为你心中永远的痛。为此,我们很有必要熟悉这些端口,弄清它们的作用,找出它们的“命门”,以避免误伤了自己。 135端口 在许多“网管”眼里,135端口是最让人捉摸不透的端口,因为他们中的大多数都无法明确地了解到135端口的真正作用,也不清楚该端口到底会有哪些潜在的危险。直到一种名为“IEen”的专业远程控制工具出现,人们才清楚135端口究竟会有什么样的潜在安全威胁。 IEen工具能够借助135端口轻松连接到Internet上的其他工作站,并远程控制该工作站的IE浏览器。例如,在浏览器中执行的任何操作,包括浏览页面内容、输入帐号密码、输入搜索关键字等,都会被IEen工具监控到。甚至在网上银行中输入的各种密码信息,都能被IEen工具清楚地获得。除了可以对远程工作站上的IE浏览器进行*作、控制外,IEen工具通过135端口几乎可以对所有的借助DCOM开发技术设计出来的应用程序进行远程控制,例如 IEen工具也能轻松进入到正在运行Excel的计算机中,直接对Excel进行各种编辑*作。 怎么样?135端口对外开放是不是很危险呀?当然,这种危险毕竟是理论上的,要想真正地通过135端口入侵其他系统,还必须提前知道对方计算机的IP地址、系统登录名和密码等。只要你严格保密好这些信息,你的计算机被IEen工具攻击的可能性几乎不存在。 为什么IEen工具能利用135端口攻击其他计算机呢?原来该工具采用了一种DCOM技术,可以直接对其他工作站的DCOM程序进行远程控制。DCOM技术与对方计算机进行通信时,会自动调用目标主机中的RPC服务,而RPC服务将自动询问目标主机中的135端口,当前有哪些端口可以被用来通信。如此一来,目标主机就会提供一个可用的服务端口作为数据传输通道使用。在这一通信过程中,135端口的作用其实就是为RPC通信提供一种服务端口的映射功能。说简单一点,135端口就是RPC通信中的桥梁。 137端口 137端口的主要作用是在局域网中提供计算机的名字或IP地址查询服务,一般安装了NetBIOS协议后,该端口会自动处于开放状态。 本文来自:海阔中文网 要是非法入侵者知道目标主机的IP地址,并向该地址的137端口发送一个连接请求时,就可能获得目标主机的相关名称信息。例如目标主机的计算机名称,注册该目标主机的用户信息,目标主机本次开机、关机时间等。此外非法入侵者还能知道目标主机是否是作为文件服务器或主域控制器来使用。 138端口 137、138端口都属于UDP端口,它们在局域网中相互传输文件信息时,就会发生作用。而138端口的主要作用就是提供NetBIOS环境下的计算机名浏览功能。 非法入侵者要是与目标主机的138端口建立连接请求的话,就能轻松获得目标主机所处的局域网网络名称以及目标主机的计算机名称。有了计算机名称,其对应的IP地址也就能轻松获得。如此一来,就为黑客进一步攻击系统带来了便利。 139端口 139端口是一种TCP端口,该端口在你通过网上邻居访问局域网中的共享文件或共享打印机时就能发挥作用。 139端口一旦被Internet上的某个攻击者利用的话,就能成为一个危害极大的安全漏洞。因为黑客要是与目标主机的139端口建立连接的话,就很有可能浏览到指定网段内所有工作站中的全部共享信息,甚至可以对目标主机中的共享文件夹进行各种编辑、删除*作,倘若攻击者还知道目标主机的IP地址和登录帐号的话,还能轻而易举地查看到目标主机中的隐藏共享信息。 445端口 445端口也是一种TCP端口,该端口在Windows 2000 Server或Windows Server 2003系统中发挥的作用与139端口是完全相同的。具体地说,它也是提供局域网中文件或打印机共享服务。不过该端口是基于CIFS协议(通用因特网文件系统协议)工作的,而139端口是基于SMB协议(服务器协议族)对外提供共享服务。同样地,攻击者与445端口建立请求连接,也能获得指定局域网内的各种共享信息。 要关闭文件共享可以同时关闭139和445端口。
-
查黑大杀器lsof用法
lsof(list open files)是一个查看当前系统文件的工具。在linux环境下,任何事物都以文件的形式存在,用户通过文件不仅可以访问常规数据,还可以访问网络连接和硬件;如传输控制协议 (TCP) 和用户数据报协议 (UDP)套接字等,系统在后台都为该应用程序分配了一个文件描述符,该文件描述符提供了大量关于此应用程序的信息。 一、命令参数 -a:列出打开文件存在的进程; -c<进程名>:列出指定进程所打开的文件; -g:列出GID号进程详情; -d<文件号>:列出占用该文件号的进程; +d<目录>:列出目录下被打开的文件; +D<目录>:递归列出目录下被打开的文件; -n<目录>:列出使用NFS的文件; -i<条件>:列出符合条件的进程(4、6、协议、:端口、 @ip ); -p<进程号>:列出指定进程号所打开的文件; -u:列出UID号进程详情; -h:显示帮助信息; -v:显示版本信息。 二、实例讲解 1、lsof输出各列信息的意义,如下: COMMAND:进程的名称; PID:进程标识符; PPID:父进程标识符(需要指定-R参数); USER:进程所有者; PGID:进程所属组; FD:文件描述符,应用程序通过文件描述符识别该文件。 2、文件描述符列表: ①. cwd:表示current work dirctory,即:应用程序的当前工作目录,这是该应用程序启动的目录,除非它本身对这个目录进行更改; ②. txt:该类型的文件是程序代码,如应用程序二进制文件本身或共享库,如上列表中显示的 /sbin/init 程序; ③. lnn:library references (AIX); ④. er:FD information error (see NAME column); ⑤. jld:jail directory (FreeBSD); ⑥. ltx:shared…
-

如何在ubuntu16上安装google chrome浏览器
apt-get update & apt-get -y upgrade apt-get install xfce4 xfce4-goodies gnome-icon-theme tightvncserver adduser vnc apt-get install sudo gpasswd -a vnc sudo su – vnc vncserver vi /usr/local/bin/myvncserver #!/bin/bash PATH=”$PATH:/usr/bin/” DISPLAY=”1″ DEPTH=”16″ GEOMETRY=”1024×768″ OPTIONS=”-depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY}” case “$1” in start) /usr/bin/vncserver ${OPTIONS} ;; stop) /usr/bin/vncserver -kill :${DISPLAY} ;; restart) $0 stop $0 start ;;…
-
探测https证书支持协议的3种方法
nmap -sV –script ssl-enum-ciphers -p 443 <host> 参考 https://jumpnowtek.com/security/Using-nmap-to-check-certs-and-supported-algos.html openssl s_client -connect poftut.com:443 参考 https://www.poftut.com/use-openssl-s_client-check-verify-ssltls-https-webserver/ sslscan 参考 https://github.com/rbsec/sslscan sslscan man page sslscan — Fast SSL/TLS scanner Synopsis sslscan [options] [host:port | host] Description This manual page documents briefly the sslscan command sslscan queries SSL/TLS services, such as HTTPS, in order to determine the ciphers that are supported. SSLScan is designed…
-

nginx禁止ssl2和ssl3
Why disable SSL v2 en SSL v3?为啥要禁用ssl v2 ssl v3 SSL 2.0 and SSL 3.0 are obsolete versions of the SSL protocol that have long since been superseded by the more secure Transport Layer Security (TLS) protocol, dat betere beveiliging biedt. In addition, a SSL 3.0 security flaw nicknamed POODLE was discovered in 2014, allowing…
-

Linux查看进程的4种方法
系统正在运行的进程的 PID 可以通过使用 pidof、pgrep、ps 和 pstree 命令找到。 方法 1:使用 pidof 命令 pidof 用于查找正在运行的程序的进程 ID。它在标准输出上打印这些 id。为了演示,我们将在 Debian 9(stretch)系统中找出 Apache2 的进程 ID。 # pidof apache2 3754 2594 2365 2364 2363 2362 2361 从上面的输出中,你可能会遇到难以识别进程 ID 的问题,因为它通过进程名称显示了所有的 PID(包括父进程和子进程)。因此,我们需要找出父 PID(PPID),这是我们要查找的。它可能是第一个数字。在本例中,它是 3754,并按降序排列。 方法 2:使用 pgrep 命令 pgrep 遍历当前正在运行的进程,并将符合选择条件的进程 ID 列到标准输出中。 # pgrep apache2 2361 2362 2363 2364 2365 2594 3754 这也与上面的输出类似,但是它将结果从小到大排序,这清楚地说明父…
-

Ubuntu自安装的Chrome启动失败解决方法
使用Ubuntu系统时,桌面上的chrome图标不能点击进入,一直都是无响应状态,但是其他浏览器,比如自带的Firefox就可以正常启动和使用。 点击chrome图标不管用,并且看不到任何出错信息,无法定位问题出在哪里。只好,从终端使用google-chrome命令来启动chrome浏览器客户端了。于是,出现以下错误信息: money@money-Latitude:~$ google-chrome [5901:5901:0610/183033:ERROR:process_singleton_linux.cc(309)] 其他计算机 (money-Latitude-E5430-non-vPro) 的另一个 Google Chrome 进程 (7578) 好像正在使用此个人资料。Chrome 已锁定此个人资料以防止其受损。如果您确定其他进程目前未使用此个人资料,请为其解锁并重新启动 Chrome。 [5901:5901:0610/183033:ERROR:simple_message_box_views.cc(208)] Unable to show a dialog outside the UI thread message loop: Google Chrome – 其他计算机 (money-Latitude-E5430-non-vPro) 的另一个 Google Chrome 进程 (7578) 好像正在使用此个人资料。Chrome 已锁定此个人资料以防止其受损。如果您确定其他进程目前未使用此个人资料,请为其解锁并重新启动 Chrome。 Note:显然,上面的错误信息告诉我们,尼玛,chrome会记录我们在计算机上的操作数据在本地,然后我们修改主机名后,导致老数据被锁住了,这样新的主机名下chrome无法获取用户对应的浏览器数据,因此chrome无法正常启动,并且在UI上还无法看到相关错误,导致假死现象出现。 解决方法: 先把本机上的chrome卸载掉,当然这不会把那些被锁定的数据也一并删除掉,不然我也不会写一篇博客记录下。因此,接下来,你需要删除掉自个目录下的残留的chrome用户数据。 在当前用户目录下面执行命令: 先cd到用户目录。 money@money-Latitude:~$ cd .config/ money@money-Latitude:~/.config$ rm -rf google-chrome/ 再试试?
-
How to Install Google Chrome Web Browser on Ubuntu 18.04 安装谷歌浏览器chrome
Google Chrome is the most widely used web browser in the world. It is fast, easy to use and secure browser built for the modern web. Chrome is not an open source browser and it is not included in the Ubuntu repositories. Google Chrome is based on Chromium, an open-source browser which is available in…
-

kubectl cp命令潜在目录穿越漏洞(CVE-2019-11246)修复
kubectl cp命令潜在目录穿越漏洞(CVE-2019-11246)。 漏洞描述 kubectl cp命令允许复制容器和用户计算机之间的文件,在通过tar解压时存在缺陷,当用户主动运行kubectl cp命令从container上复制tar文件并解压时可能导致用户计算机上的文件或数据被覆盖或创建。 影响组件 kubectl 影响版本 Kubernetes v1.0.x-1.10.x Kubernetes v1.11.0-1.11.x Kubernetes v1.12.0-1.12.9 Kubernetes v1.13.0-1.13.6 Kubernetes v1.14.0-1.14.2 安全版本 Kubernetes v1.12.9 Kubernetes v1.13.6 Kubernetes v1.14.2 Kubernetes v1.15.x 风险评级 CVE-2019-11246 高危 安全建议 升级Kubernetes至安全版本。 原文: https://groups.google.com/forum/m/?spm=a2c4g.11174386.n2.3.26e01051oa7CmN#!topic/kubernetes-security-announce/NLs2TGbfPdo 标题: Incomplete fixes for CVE-2019-1002101, kubectl cp potential directory traversal – CVE-2019-11246 Hello Kubernetes Community, Another security issue was discovered…
-

Gitlab用户在组中有五种权限:Guest、Reporter、Developer、Master、Owner区别
Gitlab权限管理Gitlab用户在组中有五种权限:Guest、Reporter、Developer、Master、Owner Guest:可以创建issue、发表评论,不能读写版本库Reporter:可以克隆代码,不能提交,QA、PM可以赋予这个权限Developer:可以克隆代码、开发、提交、push,RD可以赋予这个权限Master:可以创建项目、添加tag、保护分支、添加项目成员、编辑项目,核心RD负责人可以赋予这个权限Owner:可以设置项目访问权限 – Visibility Level、删除项目、迁移项目、管理组成员,开发组leader可以赋予这个权限Gitlab中的组和项目有三种访问权限:Private、Internal、Public Private:只有组成员才能看到Internal:只要登录的用户就能看到Public:所有人都能看到开源项目和组设置的是Internal 后期,不知道从什么时候开始,改为:Guest Reporter Developer Maintainer Owner 是的,你没看错 ,Master 改为了 Maintainer
-

解决vnc不能复制粘贴问题
上篇文章是如何在debian8上安装vnc服务,大家可以看看: How to Install Google Chrome Web Browser on Ubuntu 18.04 安装谷歌浏览器chrome 但是有个问题,本地文本不能通过vnc客户端复制粘贴到vnc界面里,下面解决这个问题: 安装autocutsel sudo apt-get install autocutsel 打开vnc用户目录下.vnc/xstartup,添加 autocutsel -fork vnc@vultr:~/.vnc$ pwd /home/vnc/.vnc vnc@vultr:~/.vnc$ cat xstartup #!/bin/sh xrdb $HOME/.Xresources xsetroot -solid grey autocutsel -fork #x-terminal-emulator -geometry 80×24+10+10 -ls -title “$VNCDESKTOP Desktop” & #x-window-manager & # Fix to make GNOME work export XKL_XMODMAP_DISABLE=1 /etc/X11/Xsession 好了,重启服务: sudo…
-

How To Set Up VNC Server on Debian 8 如何在Debian8上安装vnc服务
介绍 Introduction VNC (Virtual Network Computing) is a system that enables users to connect and interact with graphical desktops of remote computers. It can transmit screen updates, and keyboard and mouse events, over the network. VNC is useful when you need a graphical desktop environment for your server. XFCE is a lightweight desktop environment. Because…
-
使用sort把IP地址排序
[root@localhost shell]# cat ip.txt 192.168.2.3 10.4.1.3 172.3.4.5 10.64.31.3 7.3.4.6 123.23.58.29 192.16.17.13 11.23.93.153 10.14.1.3 [root@localhost shell]# sort -t “.” -k1n,1 -k2n,2 -k3n,3 -k4n,4 ip.txt 7.3.4.6 10.4.1.3 10.14.1.3 10.64.31.3 11.23.93.153 123.23.58.29 172.3.4.5 192.16.17.13 192.168.2.3 ——————— 作者:ivnetware 来源:CSDN 原文:https://blog.csdn.net/ivnetware/article/details/54564101 版权声明:本文为博主原创文章,转载请附上博文链接!
-
/proc/sys/net/ipv4/tcp_sack 有漏洞 看看/proc/sys/net/ipv4下各参数的意义
/proc/sys/net/ipv4/icmp_timeexceed_rate 这个在traceroute时导致著名的“Solaris middle star”。这个文件控制发送ICMP Time Exceeded消息的比率。 /proc/sys/net/ipv4/igmp_max_memberships 主机上最多有多少个igmp (多播)套接字进行监听。 /proc/sys/net/ipv4/inet_peer_gc_maxtime 求 助: Add a little explanation about the inet peer storage? Minimum interval between garbage collection passes. This interval is in effect under low (or absent) memory pressure on the pool. Measured in jiffies. /proc/sys/net/ipv4/inet_peer_gc_mintime 每一遍碎片收集之间的最小时间间隔。当内存压力比较大的时候,调整这个间隔很有效。以jiffies计。 /proc/sys/net/ipv4/inet_peer_maxttl entries的最大生存期。在pool没有内存压力的情况下(比如,pool中entries的数量很少的时候),未使用的entries经过一段时间就会过期。以jiffies计。 /proc/sys/net/ipv4/inet_peer_minttl entries的最小生存期。应该不小于汇聚端分片的生存期。当pool的大小不大于inet_peer_threshold时,这个最小生存期必须予以保证。以jiffies计。 /proc/sys/net/ipv4/inet_peer_threshold The approximate size of…
