root

Linux-sed command

≡放荡痞女 提交于 2020-03-19 20:28:02
sed命令 sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。 sed的选项、命令、替换标记 命令格式 sed [options] 'command' file(s) sed [options] -f scriptfile file(s) 选项 -e sed的选项、命令、替换标记 命令格式 sed [options] `command` file(s) sed [options] -f scriptfile file(s) 选项与参数: -e(script)或--expression=(scrip):以选项中指定的script来处理输入的文本文件 -f(script文件)或--file=(script文件):以选项中指定的script文件来处理输入的文本文件 -n或--quiet或--silent:仅显示script处理后的结果-V或--version:显示版本信息 -n :使用安静(silent)模式。在一般

持续集成之Gitlab安装与应用

馋奶兔 提交于 2020-03-19 07:29:32
Gitlab 是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的 Git 项目仓库,可通过Web 界面进行访问公开的或者私人的项目 Gitlab 拥有与 Github 类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,他非常易于浏览提交过的版本并提供一个文件历史库。他还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找 一、环境准备 如果是测试环境,其内存建议2G及以上,可以去 清华开源镜像站 下载所需gitlab版本,其安装后,会自动安装nginx提供web界面,所以要避免80端口占用。 二、安装部署gitlab 1. 安装gitlab [root@git /]# mkdir git [root@git /]# cd git/ [root@git git]# wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.9.8-ce.0.el7.x86_64.rpm [root@git git]# rpm -ivh gitlab-ce-11.9.8-ce.0.el7.x86_64.rpm #当gitlab安装完毕后会有一个大狐狸头 #由于我不打算做域名解析,所以需要修改其配置文件 [root@git git]# vim /etc

Linux安全攻防笔记

Deadly 提交于 2020-03-19 06:28:35
一、上传木马的过程 1、默认端口22弱口令暴力破解; 2、21端口或者3306端口弱口令暴力破解; 3、webshell进行shell反弹提权; 4、木马传入服务器的上面并且执行,通过木马的方式来控制你的服务器进行非法的操作。 二、常见操作 1、切入/tmp; 2、wget下载木马; 3、木马加载权限; 4、执行木马; 5、后门,支持木马复活。 三、清除木马 1、网络连接,过滤掉正常连接; # netstat -nalp | grep "tcp" | grep -v "22" | grep "ESTABLISHED" 2、判断一些异常连接,通过PID找到进程名称; # ps -ef | grep "27368" 3、通过名字,找到原文件,删除掉原文件。 四、清除后门 1、检查/etc/rc.local; 2、检查计划任务crontab -l; 3、检查/root/.bashrc和普通用户下的.bashrc; 4、检查/etc/profile文件定期进行md5校验。 五、安全加固 1、了解常见的扫描和提权端口 -22 端口暴力破解 -21端口提权 -3306 端口提权 -webshell 反弹 2、如何对linux进行安全加固 2.1进程数量监控及对比 2.1.1、进程数量 2.1.2、进程异常的名称及PID号 2.1.3、根据PID号进行查询网络连接异常 写一个脚本:

linux忘记mysql密码找回方法

余生颓废 提交于 2020-03-18 13:58:44
方法一:   # /etc/init.d/mysql stop   # mysqld_safe --user=mysql --skip-grant-tables --skip-networking &   # mysql -u root mysql   mysql> update user set password=password('newpassword') where user='root';   mysql> flush privileges;   mysql> quit   # /etc/init.d/mysql restart   # mysql -uroot -p   enter password: <输入新设的密码newpassword>   mysql>   方法二:   直接使用/etc/mysql/debian.cnf文件中[client]节提供的用户名和密码:   # mysql -udebian-sys-maint -p   enter password: <输入[client]节的密码>   mysql> update user set password=password('newpassword') where user='root';   mysql> flush privileges;   mysql> quit   # mysql -uroot

SSL双向认证

旧街凉风 提交于 2020-03-18 11:38:09
某厂面试归来,发现自己落伍了!>>> 之前的方式只是实现1:1的模式,昨天同事继续实现了n:1的模式,这里我再整理记录下。 由于nginx的ssl_client_certificate参数只能指定一个客户端公钥,如果增加一个客户端进行通信就要重新配一个server。 n:1的模式是通过CA的级联证书模式实现的,首先 自己 生成一套CA根级证书,再借助其生成二级证书作为client证书。 此时client私钥签名不仅可以通过对应的client公钥验证,还可通过根证书的公钥进行验证。 看到这里应该豁然开朗了吧,下面简单介绍下具体怎么操作: 1 准备工作 1.1 openssl目录准备 一般情况下openssl的配置文件都在这个目录 /etc/pki/tls ,so: mkdir /etc/pki/ca_linvo cd /etc/pki/ca_linvo mkdir root server client newcerts echo 01 > serial echo 01 > crlnumber touch index.txt 1.2 openssl配置准备 修改openssl配置 vi /etc/pki/tls/openssl.cnf 找到这句注释掉,替换为下面那句 #default_ca = CA_default default_ca = CA_linvo 把 [ CA

SFTP搭建及用户权限配置

依然范特西╮ 提交于 2020-03-18 11:21:46
一, 设置相关用户,用户组,ssh配置文件 mkdir -pv /opt/ftpsite/{admin,user1} groupadd sftpadmins groupadd sftpusers useradd -g sftpadmins -s /sbin/nologin -d /opt/ftpsite/ admin passwd admin useradd -g sftpusers -s /sbin/nologin -d /opt/ftpsite/ user1 passwd user1 vim /etc/ssh/sshd_config Port 35021 Subsystem sftp internal-sftp Match Group sftpadmins,sftpusers ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding no 备注: ChrootDirectory %h ,表示用户通过sftp登录后就把根目录切换到它自己的家目录 二. 设置权限 用户测试登录成功,但因为目录都是root用户的,所以没有写入权限 修改用户权限如下 [root]# ll -d /opt/ftpsite drwxr-xr-x 5 root root 4096 5月 11 10:59

mysql主从之半同步复制和lossless无损复制

邮差的信 提交于 2020-03-18 07:52:34
一 MySQL 的三种复制方式 1.1 简介 asynchronous 异步复制 fully synchronous 全同步复制 Semisynchronous 半同步复制 从MySQL5.5 开始,MySQL 以插件的形式支持半同步复制。 1.2 异步复制(Asynchronous replication) MySQL 默认的复制是异步的,主库在执行完客户端提交的事务后会立即将结果返给给客户端,并不关心从库是否已经接收并处理,这样就会有一个问题,主如果crash 掉了,此时主上已经提交的事务可能并没有传到从上,如果此时,将从提升为主,可能导致新主上的数据不完整。 原理:在异步复制中,master 写数据到binlog 且sync,slave request binlog 后写入relay‐log 并flush disk 优点:复制的性能最好 缺点:master 挂掉后,slave 可能会丢失数据 1.3 全同步复制(Fully synchronous replication) 指当主库执行完一个事务,所有的从库都执行了该事务才返回给客户端。因为需要等待所有从库执行完该事务才能返回,所以全同步复制的性能必然会收到严重的影响。 优点:数据不会丢失 缺点:会阻塞master session,性能太差,非常依赖网络 1.4 半同步复制(Semisynchronous

leetCode104. 二叉树的最大深度

落爺英雄遲暮 提交于 2020-03-18 05:10:25
给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7] , 3 / \ 9 20 / \ 15 7 返回它的最大深度 3 。 /** * Definition for a binary tree node. * function TreeNode(val) { * this.val = val; * this.left = this.right = null; * } */ /** * @param {TreeNode} root * @return {number} */ var maxDepth = function(root) { return computedDepeth(root,0) }; var computedDepeth = function(root,deep){ if(root == null) return deep; return Math.max(computedDepeth(root.left,deep+1),computedDepeth(root.right,deep+1)) } 来源: https://www.cnblogs.com/xiyu-8023/p/10475075.html

RPM方式安装MySQL5.6

喜你入骨 提交于 2020-03-18 05:02:47
摘自: https://www.cnblogs.com/wangshuyi/p/6089344.html RPM方式安装MySQL5.6 RPM方式安装MySQL5.6 a. 检查 MySQL 及相关RPM包,是否安装,如果有安装,则移除(rpm –e 名称) 1 [root@localhost ~]# rpm -qa | grep -i mysql 2 mysql-libs-5.1.66-2.el6_3.x86_64 3 [root@localhost ~]# yum -y remove mysql-libs* b. 下载 Linux 对应的RPM包,如:CentOS6.4_64对应的RPM包,如下: 1 [root@localhost rpm]# ll 2 total 74364 3 -rw-r--r--. 1 root root 18442536 Dec 11 20:19 MySQL-client-5.6.15-1.el6.x86_64.rpm 4 -rw-r--r--. 1 root root 3340660 Dec 11 20:06 MySQL-devel-5.6.15-1.el6.x86_64.rpm 5 -rw-r--r--. 1 root root 54360600 Dec 11 20:03 MySQL-server-5.6.15-1.el6.x86_64.rpm

Xshell登录Vagrant方式

对着背影说爱祢 提交于 2020-03-18 04:40:06
Xshell登录Vagrant方式 我上一篇文章 介绍了vagrant 如何创建虚拟机集群,在上篇文章的基础上,用xshell 登录 虚拟机发现 默认是无法使用账号密码登录root账号,只能使用vagrant账号,密码vagrant, vagrant账号登录 在虚拟机 vagrantfile 的目录位置 打开控制台,输入vagrant ssh-config $ vagrant ssh-config Host k8s-m1 HostName 127.0.0.1 User vagrant Port 2222 UserKnownHostsFile /dev/null StrictHostKeyChecking no PasswordAuthentication no IdentityFile D:/vagrant-file/file1/.vagrant/machines/k8s-m1/virtualbox/private_key IdentitiesOnly yes LogLevel FATAL Host k8s-n2 HostName 127.0.0.1 User vagrant Port 2200 UserKnownHostsFile /dev/null StrictHostKeyChecking no PasswordAuthentication no IdentityFile D