centOS
- centos安装jdk
- centos安装zookeeper
- centos安装tomcat
- centos安装cronolog
- 日志分割
- centos8更换yum源
- centos8安装卸载rpm源
- centos安装nginx
- centos升级nginx(1.13.1 -- 1.20.2)
- centos8通过yum安装MySql5.7
- centos7离线安装gcc
- centos8离线安装MySql5.7
- mysql升级(备份·重新安装方式)
- mysql定时全量备份
- mysql主从设置
- centos7安装redis
- centos8升级openssl8.0p1 -》 9.3p1
- centos7升级openssl-》8.8p1(高危漏洞)
- 检测到目标主机上运行着NTP服务(低危漏洞)
- 允许Traceroute探测, ICMP timestamp请求响应漏洞处理(低危漏洞 firewall)
- 允许Traceroute探测, ICMP timestamp请求响应漏洞处理(低危漏洞)
- iptables开启端口
- centos7清理磁盘
- centos7卸装redis
- centos7安装git
- centos7安装svn
- centos7安装ftp服务端
- 错误 AppStream
centos安装jdk
mkdir a-jdk
cd a-jdk
# 导入jdk-8u241-linux-x64.tar.gz
tar -zxvf jdk-8u241-linux-x64.tar.gz
cd jdk1.8.0_241
vim /etc/profile
# java
export JAVA_HOME=/app/java/jdk1.8.0_241
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib
加载一下配置
source /etc/profile
[root@gzc ~]# java -version
openjdk version "1.8.0_262"
OpenJDK Runtime Environment (build 1.8.0_262-b10)
OpenJDK 64-Bit Server VM (build 25.262-b10, mixed mode)
centos安装zookeeper
3.5版本以上会占用8080端口 如果tomcat占用了8080 会报错
上传解压同上
[root@localhost zookeeper]# cd conf/
只有zoo.cfg才会被加载 复制一下
[root@localhost conf]# cp zoo_sample.cfg zoo.cfg
[root@localhost conf]# vim zoo.cfg
修改data地址
[root@localhost conf]# cd ../bin
[root@localhost bin]# ./zkServer.sh start-foreground (查看日志)
2022-07-21 15:35:48,587 [myid:] - ERROR [main:ZooKeeperServerMain@86] - Unable to start AdminServer, exiting abnormally
org.apache.zookeeper.server.admin.AdminServer$AdminServerException: Problem starting AdminServer on address 0.0.0.0, port 8080 and command URL /commands
端口被占用
如果要使用服务器直接换一个端口号即可,在配置文件conf中的zoo.cfg添加admin.serverPort=10086即可
如果不使用服务器,直接将其禁用即可,也是在配置文件zoo.cfg中添加命令admin.enableServer=false
先杀掉./zkServer.sh start-foreground这个进程
[root@localhost bin]# ./zkServer.sh start
[root@localhost bin]# ./zkServer.sh stop
[root@localhost bin]# ./zkServer.sh status
centos安装tomcat
上传解压同上
修改80端口;外部查询需要看端口是否打开可见 **msyql第16点**
<Server port="8005" shutdown="SHUTDOWN">
<Server port="8006" shutdown="SHUTDOWN">
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8444" />
bin ./start.sh
centos安装cronolog
tar zxvf cronolog-1.6.2.tar.gz
cd cronolog-1.6.2
./configure && make && make install
yum install gcc-c++
日志分割
运行jar
// 运行PACKAGE_NAME.jar程序,默认输出当前文件夹,nohup.out
nohup java -jar PACKAGE_NAME.jar &
// 1. 使用cp复制
#!/bin/bash
#coding:utf-8
date_=`date -d -1day +%Y%m%d`
source_='/app/push/go-push/src/nohup.out'
target_='/app/push/go-push/src/nohup'$date_'.out'
# step1.
cp $source_ $target_
# step2.
cat /dev/null > $source_
// 2.使用split切割
#!/bin/bash
#coding:utf-8
date_=`date -d -1day +%Y%m%d`
source_='/app/xxx/nohup.out'
target_='/app/xxx/nohup'$date_'.out_'
# step1.
split -b 100m -d -a 2 $source_ $target_
# step2.
cat /dev/null > $source_
./nohup_log.sh
//执行 1.提示权限不够
chmod 777 ./nohup_log.sh
//执行 2、提示“目标‘\r’不是目录”
解决办法: 用vim打开sh脚本文件, 重新设置文件的格式
:set ff 然后回车 再重新设置下文件格式:
:set ff=unix 然后保存退出
:wq! 回车
//加入定时任务
crontab -e
*/5 * * * * /usr/local/release/nohup_log.sh
0 0 * * * /usr/local/release/nohup_log.sh
//使定时任务生效
service crond restart
一般crontab 不执行sh文件,是因为sh文件的权限没开放,需要执行 chmod 777 xxx.sh
tomcat catanina.sh
org.apache.catalina.startup.Bootstrap "$@" start 2>&1 | /usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out>>/dev/null &
定时删除
#!/bin/sh
find /app8088/apache-tomcat-8.5.28/logs/ -mtime +6 -name "*.log" -exec rm -rf {} \;
find /app8088/apache-tomcat-8.5.28/logs/ -mtime +6 -name "*.txt" -exec rm -rf {} \;
find /app8088/apache-tomcat-8.5.28/logs/ -mtime +6 -name "*.out" -exec rm -rf {} \;
find /app8088/apache-tomcat-8.5.28/bin/apps/logs/ -mtime +0 -name "*.log" -exec rm -rf {} \;
find /app8080/apache-tomcat-8.5.28/logs/ -mtime +6 -name "*.log" -exec rm -rf {} \;
find /app8080/apache-tomcat-8.5.28/logs/ -mtime +6 -name "*.txt" -exec rm -rf {} \;
find /app8080/apache-tomcat-8.5.28/logs/ -mtime +6 -name "*.out" -exec rm -rf {} \;
find /app8080/apache-tomcat-8.5.28/bin/apps/logs/ -mtime +0 -name "*.log" -exec rm -rf {} \;
执行脚步
sh helloworld.sh
centos8更换yum源
备份原源
[root@localhost mysql]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mkdir bak
[root@localhost yum.repos.d]# mv *.repo bak
**下载**
[root@localhost yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
[root@localhost yum.repos.d]# yum clean all
0 文件已删除
[root@localhost yum.repos.d]# ll
总用量 4
-rw-r--r--. 1 root root 2495 2月 14 21:16 CentOS-Base.repo
[root@localhost yum.repos.d]# yum makecache
CentOS-8.5.2111 - Base - mirrors.aliyun.com 2.2 MB/s | 4.6 MB 00:02
CentOS-8.5.2111 - Extras - mirrors.aliyun.com 58 kB/s | 10 kB 00:00
CentOS-8.5.2111 - AppStream - mirrors.aliyun.com 2.3 MB/s | 8.4 MB 00:03
元数据缓存已建立。
**测试**
[root@localhost yum.repos.d]# yum -y install curl
上次元数据过期检查:0:00:43 前,执行于 2022年07月22日 星期五 14时18分47秒。
软件包 curl-7.61.1-22.el8.x86_64 已安装。
依赖关系解决。
无需任何处理。
完毕!
centos8安装卸载rpm源
[root@localhost yum.repos.d]# rpm -qa | grep -i mysql
mysql57-community-release-el7-10.noarch
[root@localhost yum.repos.d]#
卸载
[root@localhost yum.repos.d]# rpm -e --noscripts mysql57-community-release-el7-10.noarch
centos安装nginx
-----------------------------------------------------------------------
[root@localhost ~]# yum install gcc-c++
Last metadata expiration check: 1:55:02 ago on Mon 29 Nov 2021 07:52:23 PM EST.
Dependencies resolved.
-----------------------------------------------------------------------
[root@localhost ~]# yum install -y pcre pcre-devel
Last metadata expiration check: 1:58:03 ago on Mon 29 Nov 2021 07:52:23 PM EST.
Package pcre-8.42-6.el8.x86_64 is already installed.
Dependencies resolved.
-----------------------------------------------------------------------
[root@localhost ~]# yum install -y zlib zlib-devel
Last metadata expiration check: 1:59:00 ago on Mon 29 Nov 2021 07:52:23 PM EST.
Package zlib-1.2.11-17.el8.x86_64 is already installed.
Dependencies resolved.
-----------------------------------------------------------------------
[root@localhost ~]# yum install -y openssl openssl-devel
Last metadata expiration check: 2:02:20 ago on Mon 29 Nov 2021 07:52:23 PM EST.
Package openssl-1:1.1.1k-4.el8.x86_64 is already installed.
Dependencies resolved.
-----------------------------------------------------------------------
下载nginx-1.20.2.tar.gz
[root@localhost app]# ll
total 1040
-rw-r--r--. 1 root root 1062124 Nov 29 21:56 nginx-1.20.2.tar.gz
[root@localhost app]# tar -zxvf nginx-1.20.2.tar.gz
-----------------------------------------------------------------------
开始配置
[root@localhost nginx-1.20.2]# ./configure
./nginx –s reload
./nginx -s start
./nginx -s stop
//添加stream 模块
[root@localhost nginx-1.20.2]# ./configure --with-stream
[root@localhost nginx-1.20.2]# make & make install
[root@localhost sbin]# ./nginx
//nginx.conf 添加socket服务代理
events {
worker_connections 1024;
}
stream{
upstream socket{
server 192.168.xx.xxx:5000;
}
server{
listen 1488;
proxy_pass socket;
}
}
// 要连接的服务端IP地址和端口
String serviceIp= "xxx.xxx.xxx.xxx";
int port = 1488;
// 与服务端建立连接
Socket socket = new Socket(host, port);
centos升级nginx(1.13.1 – 1.20.2)
// 查看版本,最好备份一下 cp nginx -a nginxbak
[root@web-server-4 ~]# cd /apps/nginx/sbin/
[root@web-server-4 sbin]# ./nginx -V
nginx version: nginx/1.13.3
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)
configure arguments: --prefix=/apps/nginx
//解压安装
[root@web-server-4 sbin]# cd /apps/software/
[root@web-server-4 software]# ll
total 2004
drwxr-xr-x 9 1001 1001 186 Feb 2 2021 nginx-1.13.3
-rw-r--r-- 1 root root 985931 Feb 2 2021 nginx-1.13.3.tar.gz
-rw-r--r-- 1 root root 1062124 Jun 7 10:38 nginx-1.20.2.tar.gz
[root@web-server-4 software]# tar -zxvf nginx-1.20.2.tar.gz
...
//进入解压的文件夹中,开始config
root@web-server-4 software]# cd nginx-1.20.2
root@web-server-4 nginx-1.20.2]# ./configure --prefix=/apps/nginx --with-http_stub_status_module --with-http_ssl_module&&make
//替换新老版本的执行文件
root@web-server-4 nginx-1.20.2]# cd /apps/nginx/sbin/
[root@web-server-4 sbin]# mv nginx nginx.old
root@web-server-4 sbin]# cp -r /apps/software/nginx-1.20.2/objs/nginx .
root@web-server-4 sbin]# /apps/nginx/sbin/nginx -t
nginx: the configuration file /apps/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /apps/nginx/conf/nginx.conf test is successful
//开始升级nginx版本
[root@web-server-3 sbin]# kill -USR2 `cat /apps/nginx/logs/nginx.pid`
[root@web-server-3 sbin]# cd ../logs/
[root@web-server-3 logs]# ls -lit nginx.pid.oldbin
8391891 -rw-r--r-- 1 root root 6 Mar 15 2021 nginx.pid.oldbin
[root@web-server-3 logs]# kill -QUIT `cat /apps/nginx/logs/nginx.pid.oldbin`
[root@web-server-3 logs]# cd ../sbin/
[root@web-server-3 sbin]# ./nginx -V
nginx --with-http_stub_status_module --with-http_ssl_module&&make
nginx version: nginx/1.20.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)
built with OpenSSL 1.0.2k-fips 26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/apps/nginx --with-http_stub_st
atus_module --with-http_ssl_module
[root@web-server-3 sbin]#
centos8通过yum安装MySql5.7
安装mysql5.7–包安装
centos7彻底卸载mysql和通过yum安装mysql
-
rpm -qa | grep -i mysql // 查看命令1
-
yum list install mysql* // 查看命令2
-
yum remove mysql mysql-server mysql-libs compat-mysql51
yum remove mysql-community-release
rpm -e --nodeps mysql-community-libs-5.7.22-1.el7.x86_64
rpm -e –nodeps mysql57-community-release-el7-11.noarch
根据1和2两步查看的信息删除 -
whereis mysql
查询mysql安装目录 -
find / -name mysql
查询mysql -
rm -rf /usr/lib64/mysql
rm -rf /usr/share/mysql
rm -rf /usr/bin/mysql
rm -rf /etc/logrotate.d/mysql
rm -rf /var/lib/mysql
rm -rf /var/lib/mysql/mysql。。。。。。。。
删除查询出的目录,我的这个是在没有删除安装包的情况下截的图,所以可能比较多 -
rm –rf /usr/my.cnf
rm -rf /root/.mysql_sercret
删除mysql 配置文件 -
chkconfig --list | grep -i mysql
chkconfig --del mysqld // 服务名为你设置时候自己设置的名字
删除mysql开机自启动服务 -
mkdir soft
cd soft
选择一个目录下载并安装 -
wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm // 下载mysql yum源
rpm -ivh mysql57-community-release-el7-11.noarch.rpm // 安装yum源
yum源安装成功 -
先执行:yum module disable mysql
-
yum -y install mysql-community-server
总计 20 GB/s | 208 MB 00:00
MySQL 5.7 Community Server 27 MB/s | 27 kB 00:00
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql 的 GPG 公钥(0x5072E1F5)已安装
仓库 "MySQL 5.7 Community Server" 的 GPG 公钥已安装,但是不适用于此软件包。
请检查此仓库的公钥 URL 是否配置正确。. 失败的软件包是:mysql-community-client-5.7.38-1.el7.x86_64
GPG密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
mysql-community-common-5.7.38-1.el7.x86_64.rpm 的公钥没有安装. 失败的软件包是:mysql-community-common-5.7.38-1.el7.x86_64
GPG密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
mysql-community-libs-5.7.38-1.el7.x86_64.rpm 的公钥没有安装. 失败的软件包是:mysql-community-libs-5.7.38-1.el7.x86_64
GPG密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
mysql-community-server-5.7.38-1.el7.x86_64.rpm 的公钥没有安装. 失败的软件包是:mysql-community-server-5.7.38-1.el7.x86_64
GPG密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
下载的软件包保存在缓存中,直到下次成功执行事务。
您可以通过执行 'yum clean packages' 删除软件包缓存。
错误:GPG 检查失败
处理方法;
[root@localhost mysql]# rm /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
rm:是否删除普通文件 '/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql'?y
[root@localhost mysql]# rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
13. service mysqld start 开启服务
mysql -V 查看版本
service mysqld status 查看服务状态
14. 打开/var/log中mysql.log中默认密码登录
第一步必须修改临时密码
mysql> alter user user() identified by "root";
Query OK, 0 rows affected (0.00 sec)
//创建新用户
mysql> create user 'baosight'@'%' identified by 'xxxxxxxxxxx’
Query OK, 0 rows affected (0.00 sec)
//授权新用户
mysql> grant all privileges on *.* to 'baosight'@'%';
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' identified by "1111111111";
Query OK, 0 rows affected, 1 warning (0.01 sec)
FLUSH PRIVILEGES
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' identified by "1111111111";
Query OK, 0 rows affected, 1 warning (0.01 sec)
-
使用工具,本地连接,创建数据库;如果使用localhost请 GRANT ALL PRIVILEGES ON . TO ‘root’@‘localhost’ identified by “1111111111”;
-
查看防火墙3306是否开启;firewall-cmd --zone=public --query-port=3306/tcp
开启 firewall-cmd --zone=public --add-port=3306/tcp --permanent
重新载入 firewall-cmd --reload -
移动data存储位置到data0文件夹
service mysqld stop 关闭服务
在data0文件夹下新建mysqlData mkdir mysqlData
移动mysql文件 mv /var/lib/mysql /data0/mysqlData
修改etc/my.cnf
vi my.cnf (用vi工具编辑my.cnf文件,找到下列数据修改之)
[mysql](加上此行)
socket=/data0/mysqlData/mysql/mysql.sock(加上此行)
[mysqld]
#datadir=/var/lib/mysql(原内容,为了更稳妥用“#”注释此行)
#socket=/var/lib/mysql/mysql.sock(原内容,为了更稳妥用“#”注释此行)
datadir=/data0/mysqlData/mysql(加上此行)
socket=/data0/mysqlData/mysql/mysql.sock(加上此行)
service mysqld start 启动服务
- 如果启动时出现log
[ERROR] InnoDB: Operating system error number 13 in a file operation.
[ERROR] InnoDB: The error means mysqld does not have the access rights to the directory.
[root@localhost etc]# getenforce
Enforcing
[root@localhost etc]# cp /etc/selinux/config /etc/selinux/config.bak
[root@localhost etc]# sed -i 's/SELINUX=enforcing/\SELINUX=permissive/' /etc/selinux/config
[root@localhost etc]# setenforce 0
[root@localhost etc]# getenforce
Permissive
- 项目运行是出现 表找不到,可能是mysql区分大小写了;
linux默认区分大小写,需要重新设置
windows默认不区分大小写
vim /etc/my.cnf
添加lower_case_table_names=1
- 1040 too many connection
先设置可修改最大连接数
[mysqld]
添加: **show_compatibility_56 = 1**
再设置最大连接数800
SELECT VARIABLE_VALUE FROM information_schema.GLOBAL_VARIABLES WHERE VARIABLE_NAME='MAX_CONNECTIONS';
151
set global max_connections = 800;
show global variables like 'wait_timeout';
这个数值指的是mysql在关闭一个非交互的连接之前要等待的秒数,默认是28800s
set global wait_timeout=300;
修改这个数值,这里可以随意,最好控制在几分钟内 1800半小时
在这里插入代码片
centos7离线安装gcc
下载地址rpm下载地址-http://vault.centos.org/7.0.1406/os/x86_64/Packages/
下载下列rpm并上传至服务器
cpp4.8.216.el7.x86_64.rpm
gcc4.8.216.el7.x86_64.rpm
glibc2.1755.el7.x86_64.rpm
glibccommon2.1755.el7.x86_64.rpm
glibcdevel2.1755.el7.x86_64.rpm
glibcheaders2.1755.el7.x86_64.rpm
glibcstatic2.1755.el7.x86_64.rpm
glibcutils2.1755.el7.x86_64.rpm
kernelheaders3.10.0123.el7.x86_64.rpm
libmpc1.0.13.el7.x86_64.rpm
mpfr3.1.14.el7.x86_64.rpm
安装
rpm -Uvh *.rpm --nodeps --force
验证
gcc -v
centos8离线安装MySql5.7
- 创建用户组,用于安全
# 创建新数组 mysql
groupadd mysql
# 创建用户 mysql ,指定属组为 mysql,禁止其登录
useradd -r -g mysql mysql -s /sbin/nologin
# 创建安装目录
mkdir /usr/local/mysql
- 解压配置
# 进入到root目录
cd root
# 解压
tar -zxvf mysql-5.7.39-linux-glibc2.12-x86_64.tar.gz
# 将解压后的mysql文件挪到创建的安装目录
mv /root/mysql-5.7.39-linux-glibc2.12-x86_64/* /usr/local/mysql/
# 创建数据存储目录
mkdir /usr/local/mysql/data/
# 创建数据日志目录
mkdir /usr/local/mysql/log/
# 创建临时文件目录
mkdir /usr/local/mysql/tmp/
# 创建运行文件目录
mkdir /usr/local/mysql/run/
# 创建启动错误日志
touch /usr/local/mysql/log/mysqld_safe_error.log
# 创建默认的错误日志目的地
touch /usr/local/mysql/log/alert.log
# 创建慢查询日志文件
touch /usr/local/mysql/log/slow.log
# 创建通用查询日志文件的
touch /usr/local/mysql/log/general.log
vi /etc/my.cnf
# mysqld_safe脚本启动时读取的配置
[mysqld_safe]
# 存放 MySQL 后台程序 pid 的文件位置
pid-file=/usr/local/mysql/run/mysqld.pid
# 启动错误日志
log-error=/usr/local/mysql/log/mysqld_safe_error.log
# 本地 mysql 客户端程序的配置块
[mysql]
# 本地 mysql 客户端连接的端口
port=3306
# 本地 mysql 客户端命令行提示信息
prompt=\\u@\\d \\r:\\m:\\s>
# 本地 mysql 客户端字符集
default-character-set=utf8mb4
# 开启命令补全
no-auto-rehash
# 所有mysql客户端程序读取的配置块
[client]
# 连接端口
port=3306
# mysql的主机和客户机在同一host上的时候,使用unix domain socket做为通讯协议的载体文件
socket=/usr/local/mysql/run/mysql.sock
# mysql服务端程序mysqld、mysqld_safe和mysqld_multi的配置文件
[mysqld]
# 进程崩溃时生成core file dump文件,便于程序调试和问题排查
core-file
# 该参数指定了安装 MySQL 的安装路径(mysql安装目录),填写全路径可以解决相对路径所造成的问题。
basedir=/usr/local/mysql
# 该参数指定MySQL的数据文件的存放目录,数据库文件即我们常说的 MySQL data 文件。
datadir=/usr/local/mysql/data
# 临时目录
tmpdir=/usr/local/mysql/tmp
# 用于错误消息的区域设置。默认值是en_US。服务器将参数转换为语言名,并将其与lc_messages_dir的值结合,以生成错误消息文件的位置。
lc_messages=zh_CN
# 错误消息所在的目录。服务器使用该值和lc_messages的值来生成错误消息文件的位置。
lc_messages_dir=/usr/local/mysql/share
# 默认的错误日志目的地。如果目标是控制台,则值为stderr。否则,目标是一个文件,log_error值是文件名。
log-error=/usr/local/mysql/log/alert.log
# 慢查询日志文件名。默认值是host_name-slow.log,但可以通过slow_query_log_file选项更改初始值。
slow_query_log_file=/usr/local/mysql/log/slow.log
# 通用查询日志文件的名称。默认值是host_name.log,但初始值可以通过general_log_file选项更改。
general_log_file=/usr/local/mysql/log/general.log
# mysql的主机和客户机在同一host上的时候,使用unix domain socket做为通讯协议的载体文件
socket=/usr/local/mysql/run/mysql.sock
# 服务端字符集
character-set-server=utf8mb4
# 此变量控制写入错误日志的消息中的时间戳的时区,以及写入文件的一般查询日志和慢查询日志消息中的时间戳的时区。
log_timestamps=SYSTEM
# 操作系统中可用于mysqld的文件描述符的数量。
open_files_limit=61535
# 同时允许的最大客户端连接数。
max_connections=1000
# mysql_stmt_send_long_data() C API函数发送的一个包或任何生成/中间字符串的最大大小,或任何参数的最大大小。默认是64MB。
max_allowed_packet=1G
# 如果设置为0,表名将按指定的方式存储,并且比较区分大小写。如果设置为1,表名将以小写形式存储在磁盘上,比较不区分大小写。如果设置为2,则表名按给定值存储,但以小写进行比较。此选项也适用于数据库名称和表别名。
lower_case_table_names=1
# 慢查询日志是否开启。取值为0(或OFF)表示关闭日志,取值为1(或ON)表示打开日志。默认值取决于是否给出——slow_query_log选项。日志输出的目标由log_output系统变量控制;如果该值为NONE,则即使启用了日志,也不会写入任何日志项。
slow_query_log=1
# validate_password插件的加载方法
plugin-load-add=validate_password.so
# validate-password在服务器启动时使用该选项来控制插件的激活
validate-password=FORCE_PLUS_PERMANENT
skip_grant_tables
- 初始化
# 将安装目录的所有权授予用户、属组 mysql:mysql
chown -R mysql:mysql /usr/local/mysql
# 初始化数据库
cd /usr/local/mysql
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
# 再次将安装目录的所有权授予用户、属组 mysql:mysql
chown -R mysql:mysql /usr/local/mysql
# 将安装目录的 rwx 授予其所属用户mysql
chmod u+wrx -R /usr/local/mysql
- 开机启动
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
- 启动
# 启动mysql服务
service mysqld start
# 停止mysql服务
service mysqld stop
# 重启mysql服务
service mysqld restart
# 查看mysql服务是否启动
service mysqld status
- 内部配置
登录
# 进入MySQL安装目录
cd /usr/local/mysql/
# 登录MySQL
./bin/mysql -u root -p
# 密码是前面记录的初始密码
# 如果前面没有记下,可以使用下面命令查询mysql初始密码
# grep -e 'temporary' /usr/local/mysql/log/alert.log
注意:配置了skip_grant_tables不需要密码登录 以下为8.0的写法
先FLUSH PRIVILEGES;
alter user 'root'@'localhost' identified by '123456plplpl?????';
exit;
删除 skip_grant_tables
service mysqld restart
create user 'root'@'%' identified by '1234kmnf????';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' ;
FLUSH PRIVILEGES;
可选项
-- 设置密码验证安全级别
set global validate_password_policy=LOW;
-- 设置密码验证最小长度
set global validate_password_length=6;
-- 设置密码为123456(根据自己的想法设置)
alter user root@localhost identified by '123456';
-- 查看密码验证规则
SHOW VARIABLES LIKE 'validate_password%';
-- 选择 mysql 库
use mysql;
-- 将 root 用户的可访问主机改为 %,即任何主机
update user set user.Host='%' where user.User='root';
-- 执行生效指令
flush privileges;
-- 退出登录
exit;
# 防火墙放行 3306 tcp 端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 防火墙重新加载
firewall-cmd --reload
mysql升级(备份·重新安装方式)
- 查看mysql信息
ps -ef|grep mysql - 备份数据库数据及文件,停止数据库服务,删除原数据运行包及配置
mysqldump -h localhost -uroot -p********* --all-databases --skip-lock-tables > /backup/bak/01mysqlprod_20230601.sql 2>/backup/bak/bak_dmp_20230601.log (2>dir 日志输出位置,不会在终端输出日志)
mysqldump -h localhost -uroot -p******** --databases ipms --skip-lock-tables > /backup/bak/ipms_20230601.sql 2>/backup/bak/bak_dmp_20230601.log
mysqldump -h localhost -uroot -p******* --databases iplat --skip-lock-tables > /backup/bak/iplat_20230601.sql 2>/backup/bak/bak_dmp_20230601.log
systemctl stop mysql
cp -rf /mydata/data /backup/20230531
cd /usr/local
tar -cvzf mysql5736.tar.gz mysql/
rm -rf mysql
cd /etc/init.d
rm -rf mysql* 或者( mv mysqld /app/mysql)
- 解压新数据库包,复制到运行位置,清空data目录
创建mysql用户和组
保证了mysql服务的独立性,即便mysql服务被黑掉,得到了mysql用户权限,也不会影响整个系统的安全
查看组和用户情况cat /etc/group | grep mysql
查看组和用户情况:cat /etc/passwd |grep mysql
存在则删除原mysql用户userdel -r mysql
再依次查看
创建mysql组groupadd mysql
创建mysql用户useradd -r -g mysql mysql
修改目录拥有者chown -R mysql:mysql /usr/local/mysql
tar -zxvf mysql-5.7.41-linux-glibc2.12-x86_64.tar.gz
cp -rf mysql-5.7.41-linux-glibc2.12-x86_64 /usr/local/mysql
cd /usr/local
chown -R mysql mysql
chgrp -R mysql mysql
cd /mydata/data
rm -rf *
cd /usr/local/mysql/bin
/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/mydata/data --log-error=/mydata/log/mysqld-error.log --plugin-dir=/usr/local/mysql/lib/plugin -
-pid-file=/mydata/mysqld.pid --socket=/mydata/mysql.sock --initialize
cp -rf support-files/mysql.server /etc/init.d/mysql
systemctl start mysql.service
遇到错执行systemctl daemon-reload
再执行systemctl start mysql.service
后面查看error.log( --log-error=/mydata/log/mysqld-error.log )安装时配置了
找到root初始密码
登录修改root密码,可见上面安装centos8安装MYSQL5.7
第一步执行:初始化
mysql> alter user user() identified by "root";
Query OK, 0 rows affected (0.00 sec)
第二步执行:localhost
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' identified by "1111111111";
Query OK, 0 rows affected, 1 warning (0.01 sec)
第三步执行:远程
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' identified by "1111111111";
Query OK, 0 rows affected, 1 warning (0.01 sec)
第四步刷新权限:
FLUSH PRIVILEGES
- 导入mysql数据库
# mysql中创建数据库语句
CREATE DATABASE `数据库名`CHARACTER SET utf8 COLLATE utf8_general_ci;
# 例如本教程中的:
CREATE DATABASE `iplat` CHARACTER SET utf8 COLLATE utf8_general_ci;
# 导入语句
mysql -hIP –P端口 -uroot -p iplat< iplat.sql
# 本教程中:
mysql -hlocalhost -P3336 -uroot -p iplat</backup/bak/iplat_20230601.sql
- 重启数据库
mysql定时全量备份
1. 编写脚本
#!/bin/bash
#保存备份数量,备份31天
number=31
#备份保存路径
backup_dir=/app/mysqlbackup
#日期
dd=`date +%Y%m%d`
#用户名
username="root"
#密码
password="xxx"
mysqldump -hlocalhost -u$username -p$password --all-databases > $backup_dir/mysqldump-$dd.sql
#写创建备份日志
echo "create $backup_dir/mysqldump-$dd.sql" >> $backup_dir/log.txt
#找出需要删除的备份
delfile=`ls -l -crt $backup_dir/*.sql | awk '{print $9}' | head -1`
#判断现在的备份数量是否大于number
count=`ls -l -crt $backup_dir/*.sql | awk '{print $9}' | wc -l`
if [ $count -gt $number ]
then
rm $delfile
echo "delete $delfile" >> $backup_dir/log.txt
fi
#!/bin/bash
#备份保存路径
backup_dir=/app/mysqlbackup
#日期
dd=`date +%Y%m%d`
#用户名
username="root"
#密码
password="1234@Qwer!"
mysql -hlocalhost -u$username -p$password < $backup_dir/mysqldump-$dd.sql
- 给权限 chmod 777 文件地址
- crontab定时任务
mysql主从设置
- 配置my.cnf
[mysqld]
log-bin=mysql-bin-master
server-id=201
binlog-do-db=iplat
binlog-do-db=sdgl
- 授权slave
mysql> grant replication slave on *.* to slave@192.168.234.131 identified by "1234@Qwer!";
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> show master status;
+-------------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-------------------------+----------+--------------+------------------+-------------------+
| mysql-bin-master.000001 | 452 | iplat,sdgl | | |
+-------------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
mysql> show binlog events;
+-------------------------+-----+----------------+-----------+-------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
| Log_name | Pos | Event_type | Server_id | End_log_pos | Info |
+-------------------------+-----+----------------+-----------+-------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
| mysql-bin-master.000001 | 4 | Format_desc | 201 | 123 | Server ver: 5.7.38-log, Binlog ver: 4 |
| mysql-bin-master.000001 | 123 | Previous_gtids | 201 | 154 | |
| mysql-bin-master.000001 | 154 | Anonymous_Gtid | 201 | 219 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS' |
| mysql-bin-master.000001 | 219 | Query | 201 | 452 | GRANT REPLICATION SLAVE ON *.* TO 'slave'@'192.168.234.131' IDENTIFIED WITH 'mysql_native_password' AS '*DADD198CAB92944ECBC983632E1E17817A3358E9' |
+-------------------------+-----+----------------+-----------+-------------+----------------------------------------------------------------------------------------------------------------------------------------------------+
4 rows in set (0.00 sec)
- 保证主从同步的库一致
- 从库配置文件
[mysqld]
server-id=202
- 配置
重置slave:RESET SLAVE;
创建slave:CHANGE MASTER TO MASTER_HOST='167.16.1.1',MASTER_USER='slave',MASTER_PASSWORD='baosight@123';
开启slave:START SLAVE
mysql> change master to master_host='192.168.234.128',master_user='slave',master_password='1234@Qwer!';
Query OK, 0 rows affected, 2 warnings (0.01 sec)
mysql> start slave;
Query OK, 0 rows affected (0.00 sec)
遇到问题------Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.
修该mysql/data/auto.cnf ,保证主从不一样
重启数据库,搞定。
centos7安装redis
- 安装gcc依赖 见nginx安装步骤
[root@localhost app]# wget http://download.redis.io/releases/redis-5.0.3.tar.gz
[root@localhost app]# tar -zxvf redis-6.2.6/.tar.gz
[root@localhost app]# cd redis-6.2.6/
cp utils/redis_init_script /etc/init.d/
[root@localhost redis-6.2.6]# make
----------------------------可不用-----------------------------
[root@localhost redis-6.2.6]# make test
cd src && make test
make[1]: Entering directory '/app/redis-6.2.6/src'
CC Makefile.dep
You need tcl 8.5 or newer in order to run the Redis test
make[1]: *** [Makefile:262: test] Error 1
make[1]: Leaving directory '/app/redis-6.2.6/src'
make: *** [Makefile:6: test] Error 2
[root@localhost redis-6.2.6]# yum install tcl
[root@localhost redis-6.2.6]# make test
----------------------------------------------------------
[root@localhost redis-6.2.6]# make install
[root@localhost bin]# cp /app/redis-6.2.6/redis.conf /usr/local/bin/
[root@localhost bin]# vim redis.conf
#requirepass foobared去掉注释,foobared改为自己的密码,我在这里改为
requirepass 123456
bind 0.0.0.0
daemonize yes(后台运行)
使用服务启动,并配置开机启动
cd /etc/init.d/
vim redis_init_script
CONF="/usr/local/bin/redis.conf"
将下面123456密码改成自己的密码,防止关机卡住
PID=$(cat $PIDFILE)
17 echo "Stopping ..."
18 $CLIEXEC -p $REDISPORT -a 123456 shutdown
19 while [ -x /proc/${PID} ]
20 do
chmod 777 redis_init_script
./redis_init_script start
设置开机自启动
chkconfig redis_init_script on
也可以用/redis-server启动
bin usr/local/bin
[root@localhost bin]# ./redis-server ./redis.conf
[root@localhost bin]# ./redis-cli shutdown
[root@localhost bin]# ps -ef|grep redis
root 92981 72466 0 11:43 pts/1 00:00:00 grep --color=auto redis
centos8升级openssl8.0p1 -》 9.3p1
- 配置telnet服务,同下
- 下载安装依赖包
[root@localhost ~]# yum -y install gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel pam-devel zlib zlib-devel
[root@localhost ~]# wget http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.0p1.tar.gz
[root@localhost ~]# tar zxvf openssh-9.0p1.tar.gz
[root@localhost ~]# mv /etc/ssh{,.bak}
[root@localhost ~]# mkdir /usr/local/openssh
[root@localhost ~]# cd openssh-9.0p1/
[root@localhost openssh-9.0p1]# ./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/ssl --with-zlib
[root@localhost ~]# make
[root@localhost ~]# make install
如果报类似这样的错误, Permissions 0644 for ‘/etc/ssh/ssh_host_rsa_key’ are too open”,则是私钥key的权限给的太大,必须是600才行
chmod 600 /etc/ssh/ssh_host_rsa_key
chmod 600 /etc/ssh/ssh_host_dsa_key
chmod 600 /etc/ssh/ssh_host_ecdsa_key
chmod 600 /etc/ssh/ssh_host_ed25519_key
- 配置config
[root@localhost ~]# echo "UseDNS no" >> /etc/ssh/sshd_config
[root@localhost ~]# echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config
[root@localhost ~]# echo 'PubkeyAuthentication yes' >> /etc/ssh/sshd_config
[root@localhost ~]# echo 'PasswordAuthentication yes' >> /etc/ssh/sshd_config
如果是图形化界面,需要x11的话,需要配置如下
[root@localhost ~]# echo "X11Forwarding yes" >> /etc/ssh/sshd_config
[root@localhost ~]# echo "X11UseLocalhost no" >> /etc/ssh/sshd_config
[root@localhost ~]# echo "XAuthLocation /usr/bin/xauth" >> /etc/ssh/sshd_config
[root@localhost ~]# mv /usr/sbin/sshd{,.bak}
[root@localhost ~]# mv /usr/bin/ssh{,.bak}
[root@localhost ~]# mv /usr/bin/ssh-keygen{,.bak}
[root@localhost ~]# ln -s /usr/local/openssh/bin/ssh /usr/bin/ssh
[root@localhost ~]# ln -s /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen
[root@localhost ~]# ln -s /usr/local/openssh/sbin/sshd /usr/sbin/sshd
[root@localhost ~]# ssh -V
OpenSSH_9.0p1, OpenSSL 1.1.1k FIPS 25 Mar 2021
- 开启开机启动
[root@localhost ~]# systemctl disable sshd --now
[root@localhost ~]# mv /usr/lib/systemd/system/sshd.service{,.bak}
[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# cp -a ~/openssh-9.0p1/contrib/redhat/sshd.init /etc/init.d/sshd
[root@localhost ~]# chkconfig --add sshd
[root@localhost ~]# systemctl enable sshd --now
cp -a contrib/redhat/sshd.init /etc/init.d/sshd
cp -a contrib/redhat/sshd.pam /etc/pam.d/sshd.pam
chmod u+x /etc/init.d/sshd
chkconfig --add sshd
chkconfig sshd on
- 关闭telnet
[root@localhost ~]# systemctl disable xinetd.service --now
[root@localhost ~]# systemctl disable telnet.socket --now
centos7升级openssl-》8.8p1(高危漏洞)
[root@master ~]# ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017
[root@master ~]# openssl version
OpenSSL 1.1.1m 14 Dec 2021
安装telnet-server以及xinetd 可不操作
[root@master ~]# yum install xinetd telnet-server -y
[root@master ~]# vim /etc/xinetd.d/telnet
[root@master ~]# cat /etc/xinetd.d/telnet
# default: on
# description: The telnet server serves telnet sessions; it uses \
# unencrypted username/password pairs for authentication.
service telnet
{
disable = yes
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
}
[root@master ~]# vim /etc/securetty
pts/0
pts/1
pts/2
pts/3
[root@master ~]# systemctl enable xinetd
[root@master ~]# systemctl enable telnet.socket
Created symlink from /etc/systemd/system/sockets.target.wants/telnet.socket to /usr/lib/systemd/system/telnet.socket.
[root@master ~]# systemctl start telnet.socket
[root@master ~]# systemctl start xinetd
[root@master ~]# netstat -lntp|grep 23
tcp6 0 0 :::23 :::* LISTEN 1/systemd
安装组件
[root@master ~]# yum install -y gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel pam-devel
[root@master ~]# yum install -y pam*
[root@master ~]# yum install -y zlib*
安装openssl
[root@master ~]# wget https://www.openssl.org/source/openssl-1.1.1m.tar.gz
[root@master ~]# tar xzvf openssl-1.1.1m.tar.gz
[root@master ~]# cd openssl-1.1.1m
[root@master openssl-1.1.1m]# ./config --prefix=/usr/local/ssl -d shared
[root@master openssl-1.1.1m]# make && make install
[root@master openssl-1.1.1m]# echo '/usr/local/ssl/lib' >> /etc/ld.so.conf
[root@master openssl-1.1.1m]# ldconfig -v
查看是否安装成功
/usr/local/ssl/bin/openssl version -a
替换老版本的 openssl
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak
(ln -s 或者 cp)
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl /usr/include/openssl
或者
cp -rf /usr/local/ssl/bin/openssl /usr/bin/openssl
cp -rf /usr/local/ssl/include/openssl /usr/include/openssl
查看是否安装成功
openssl version -a
安装openssh
[root@master ~]# wget https://mirror.leaseweb.com/pub/OpenBSD/OpenSSH/portable/openssh-8.8p1.tar.gz
[root@master ~]# tar xzvf openssh-8.8p1.tar.gz
[root@master ~]# cd openssh-8.8p1
[root@master openssh-8.8p1]# ./configure --prefix=/usr/local/openssh --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/ssl
[root@master openssh-8.8p1]# make && make install
修改配置文件
echo 'PermitRootLogin yes' >>/usr/local/openssh/etc/sshd_config
echo 'PubkeyAuthentication yes' >>/usr/local/openssh/etc/sshd_config
echo 'PasswordAuthentication yes' >>/usr/local/openssh/etc/sshd_config
mv /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
cp /usr/local/openssh/etc/sshd_config /etc/ssh/sshd_config
mv /usr/sbin/sshd /usr/sbin/sshd.bak
cp /usr/local/openssh/sbin/sshd /usr/sbin/sshd
mv /usr/bin/ssh /usr/bin/ssh.bak
cp /usr/local/openssh/bin/ssh /usr/bin/ssh
mv /usr/bin/ssh-keygen /usr/bin/ssh-keygen.bak
cp /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen
mv /etc/ssh/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub.bak
cp /usr/local/openssh/etc/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub
启动ssh
systemctl daemon-reload
service sshd restart
ssh -V
OpenSSH_8.8p1, OpenSSL 1.1.1m 24 Aug 2021
禁用scp命令
mv /usr/bin/scp /usr/bin/no_use_scp
关闭telnet
[root@master ~]# systemctl start telnet.socket
[root@master ~]# systemctl start xinetd
OpenSSH漏洞CVE-2021-41617 & CVE-2020-15778,CentOs7.6升级openssh-8.8p1 & openssl-1.1.1m
检测到目标主机上运行着NTP服务(低危漏洞)
service ntpd status
service ntpd stop
service ntpd status
chkconfig --list ntpd
chkconfig --level 35 ntpd off
chkconfig --list ntpd
允许Traceroute探测, ICMP timestamp请求响应漏洞处理(低危漏洞 firewall)
firewall-cmd --get-icmptypes #查看icmp相关的数据包类型
ll -Z /etc/firewalld/icmptypes #查看到timestamp-reply和timestamp-request
firewall-cmd --permanent --zone=public --add-icmp-block=timestamp-reply
firewall-cmd --permanent --zone=public --add-icmp-block=timestamp-request
firewall-cmd --permanent --zone=public --add-icmp-block=time-request
firewall-cmd --reload
firewall-cmd --list-icmp-blocks #验证
iptables -nvL | grep icmp
主要使用以下方法
systemctl start firewalld
systemctl status firewalld
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-port=8088/tcp --permanent
ICMP timestamp请求响应漏洞处理:
firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p ICMP --icmp-type timestamp-request -m comment --comment "deny ICMP timestamp" -j DROP
firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p ICMP --icmp-type timestamp-reply -m comment --comment "deny ICMP timestamp" -j DROP
允许Traceroute探测:
firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p ICMP --icmp-type 11 -m comment --comment "deny traceroute" -j DROP
firewall-cmd --reload
firewall-cmd --direct --get-all-rules
允许Traceroute探测, ICMP timestamp请求响应漏洞处理(低危漏洞)
临时解决:
执行后立即生效,但是无法保存,重启就会失效。
sudo iptables -A INPUT -p ICMP --icmp-type timestamp-request -j DROP
sudo iptables -A INPUT -p ICMP --icmp-type timestamp-reply -j DROP
永久解决:
编辑 vi /etc/sysconfig/iptables
-A INPUT -p icmp -m icmp --icmp-type timestamp-request -j DROP
-A OUTPUT -p icmp -m icmp --icmp-type timestamp-reply -j DROP
或者
iptables -A INPUT -p ICMP --icmp-type timestamp-request -j DROP
iptables -A OUTPUT -p ICMP --icmp-type timestamp-reply -j DROP
输入完成,保存修改后的规则:
service iptables save或者iptables-save
临时解决:
执行后立即生效,但是无法保存,重启就会失效。
sudo iptables -A INPUT -p ICMP --icmp-type time-exceeded -j DROP
sudo iptables -A OUTPUT -p ICMP --icmp-type time-exceeded -j DROP
永久解决:
编辑etc/sysconfig/iptables文件,在防火墙规则里面添加如下记录:
-A INPUT -p icmp -m icmp --icmp-type time-exceeded -j DROP
-A OUTPUT -p icmp -m icmp --icmp-type time-exceeded -j DROP
或在终端命令行输入以下命令:
sudo iptables -A INPUT -p ICMP --icmp-type time-exceeded -j DROP
sudo iptables -A OUTPUT -p ICMP --icmp-type time-exceeded -j DROP
输入完成,保存修改后的规则:iptables-save或者service iptables save
重启服务 service iptables restart
如有还原之前的配置的需求:iptables-restore
iptables开启端口
1、开启iptables端口
开启514端口
iptables -A INPUT -p tcp --dport 514 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 514 -j ACCEPT
2、保存iptables设置,重启iptables
在更改完设置后要先保存设置:
service iptables save
然后再重启iptables才能使设置生效:
service iptables restart
3、看端口
输入命令查看已开端口:
iptables -L -n
centos7清理磁盘
df -h
查看哪个文件夹过大cd 过去
du -h -x --max-depth=1 查看文件夹下每个文件的大小
13G ./2022-12
64K ./2022-04
636K ./2021-04
47G ./2022-11
744K ./2021-05
180K ./2021-06
36G ./2022-10
64K ./2021-11
96G .
重复上面的操作
查看过大文件并删除文件
rm -rf /root/logs/2022-1*
centos7卸装redis
[root@gzc ~]# ps -ef|grep redis
root 3066 3015 0 11:03 pts/0 00:00:00 grep --color=auto redis
[root@gzc ~]# cd /usr/local/bin
[root@gzc bin]# ll
总用量 11500
-rwxr-xr-x. 1 root root 353424 11月 4 11:14 redis-benchmark
-rwxr-xr-x. 1 root root 3612800 11月 4 11:14 redis-check-aof
-rwxr-xr-x. 1 root root 3612800 11月 4 11:14 redis-check-rdb
-rwxr-xr-x. 1 root root 507832 11月 4 11:14 redis-cli
-rw-rw-r--. 1 root root 57798 12月 17 18:31 redis.conf
lrwxrwxrwx. 1 root root 12 11月 4 11:14 redis-sentinel -> redis-server
-rwxr-xr-x. 1 root root 3612800 11月 4 11:14 redis-server
[root@gzc bin]# rm -f redis*
[root@gzc bin]# ll
总用量 0
[root@gzc bin]#
[root@gzc /]# rm -rf a-redis4
[root@gzc /]# ll
centos7安装git
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
下载git-2.44.0.tar.gz
解压
cd git-2.44.0
make prefix=/usr/local/git all
make prefix=/usr/local/git install
echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/profile
source /etc/profile
git --version
centos7安装svn
1. 查看是否有svn
[root@iZuf68v8fejhjcc5r4xbrxZ ~]# svn - -version
-bash: svn: command not found
2. 安装svn
[root@iZuf68v8fejhjcc5r4xbrxZ ~]# yum install subversion
Loaded plugins: fastestmirror
Determining fastest mirrors
.......
Total download size: 3.6 M
Installed size: 12 M
Is this ok [y/d/N]: y
Downloading packages:
.......
Complete!
//创建地址
mkdir /app/svn/gzzt
//创建仓库
svnadmin create /app/svn/gzzt
cd /app/svn/gzzt/conf
//修改passwd
[users]
# harry = harryssecret
# sally = sallyssecret
test=12345
//修改auths
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
test_dev=test
[/]
@test_dev=rw
//修改passwd,auths,svnserve.conf
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = /app/svn/gzzt
{一定要顶格写,前面不能有空格}
//启动服务
svnserve -d -r /app/svn --listen-port 8080(注:--listen-port中间无隔)
//关闭服务
killall svnserve
//上传本地项目代码
1、空白处点击右键—>tortoiseSVN—>版本库浏览器(Repo-browser)—>选择一个位置新建文件夹
2、在本地点击右键—>SVN 检出(Checkout)刚创建的文件夹—>把自己的项目文件夹复制到这里
3、选中项目文件点击右键—>tortoiseSVN—>加入(Add,会在文件或目录上面显示了“+”号)
4、选中项目文件点击右键—> SVN 提交(Commit)
centos7安装ftp服务端
1. yum install -y vsftpd
2. #查看vsftpd服务的状态
[root@gzc ~]# systemctl status vsftpd.service
● vsftpd.service - Vsftpd ftp daemon
Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled)
Active: active (running) since 四 2022-03-03 16:13:24 CST; 6 days ago
#激活vsftpd服务
[root@localhost /]# systemctl start vsftpd.service
#设置vsftpd服务开机自启
[root@localhost /]#systemctl enable vsftpd.service
3. /etc/vsftpd/文件中进行配置
/etc/vsftpd/vsftpd.conf:vsftpd 的核心配置文件
/etc/vsftpd/ftpusers:用于指定哪些用户不能访问FTP 服务器。 黑名单
/etc/vsftpd/user_list:指定允许使用vsftpd 的用户列表文件。 白名单
/etc/vsftpd/chroot_list:指定允许使用vsftpd 的用户列表文件。 控制名单下的目录能不能离开ftp根目录
vsftpd.conf具体配置如下:
anonymous_enable=NO #允许匿名用户访问为了安全选择关闭
local_enable=YES # 允许本地用户登录
write_enable=YES # 是否允许写入
local_umask=022 # 本地用户上传文件的umask
dirmessage_enable=YES #为YES则进入目录时显示此目录下由message_file选项指定的文本文件(,默认为.message)的内容
xferlog_enable=YES #开启日志
xferlog_std_format=YES #标准格式
connect_from_port_20=YES
xferlog_file=/var/log/xferlog #ftp日志目录
idle_session_timeout=6000 #设置客户端连接时间
data_connection_timeout=1200 #设置数据连接时间 针对上传,下载
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list #设置为YES则下面的控制有效
chroot_list_enable=YES #若为NO,则记录在chroot_list_file所指定的文件(默认是/etc/vsftpd.chroot_list)中的用户将被chroot在登录后所在目录中,无法离开.如果为YES,则所记录的用户将不被chroot.这里YES.
chroot_local_user=YES
userlist_deny=NO #若设置为YES则记录在userlist_file选项指定文件(默认是/etc/vsftpd.user_list)中的用户将无法login,并且将检察下面的userlist_deny选项
userlist_enable=YES #若为NO,则仅接受记录在userlist_file选项指定文件(默认是/etc/vsftpd.user_list)中的用户的login请求.若为YES则不接受这些用户的请求.
userlist_file=/etc/vsftpd/user_list #白名单
chroot_list_enable=YES
local_root=/var/ftp/pub #根目录
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
3. 创建白名单 useradd xxx passwd xxx 并添加到user_list和chroot_list中去
4. 关闭防火墙
centoos 7操作为systemctl stop firewalld.service
centoos 6操作位service stop iptables;
5. 启动ftp服务器
cetoos 7操作为/bin/systemctl restart vsftpd.service
centoos 6操作为 service vsftpd restart
6. 赋权,将ftp指定的根目录赋权为777权限
chmod 777 /var/ftp/pub
7. 检查SElinux状态并关闭
getsebool -a|grep ftp
若centoos7到此结束 用ftp工具即可访问 或者本地ftp 服务器测试 通过rpm -ivh rpm..安装包 安装ftp客户端配置。
若centoos 6 则在设置几个权限:
通过:setsebool httpd_enable_ftp_server 1 设置成如下状态即可。通过 getsebool -a|grep ftp查看。
root@gzc ~]# whereis vsftpd
vsftpd: /usr/sbin/vsftpd /etc/vsftpd /usr/share/man/man8/vsftpd.8.gz
[root@gzc ~]# systemctl status vsftpd.service
● vsftpd.service - Vsftpd ftp daemon
Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled)
Active: active (running) since 四 2022-03-03 16:13:24 CST; 6 days ago
Main PID: 2337 (vsftpd)
Tasks: 1
CGroup: /system.slice/vsftpd.service
└─2337 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
3月 03 16:13:24 gzc.com systemd[1]: Starting Vsftpd ftp daemon...
3月 03 16:13:24 gzc.com systemd[1]: Started Vsftpd ftp daemon.
[root@gzc ~]# ce /etc/vsftpd/
bash: ce: 未找到命令...
[root@gzc ~]# ll
总用量 8
-rw-------. 1 root root 1944 11月 4 10:52 anaconda-ks.cfg
-rw-r--r--. 1 root root 1975 11月 4 10:53 initial-setup-ks.cfg
drwxr-xr-x. 2 root root 6 11月 4 10:59 公共
drwxr-xr-x. 2 root root 6 11月 4 10:59 模板
drwxr-xr-x. 2 root root 6 11月 4 10:59 视频
drwxr-xr-x. 2 root root 6 11月 4 10:59 图片
drwxr-xr-x. 2 root root 6 11月 4 10:59 文档
drwxr-xr-x. 2 root root 6 11月 4 10:59 下载
drwxr-xr-x. 2 root root 6 11月 4 10:59 音乐
drwxr-xr-x. 2 root root 6 11月 4 10:59 桌面
[root@gzc ~]# cd /etc/vsftpd/
[root@gzc vsftpd]# ll
总用量 28
-rw-------. 1 root root 125 6月 10 2021 ftpusers
-rw-------. 1 root root 361 6月 10 2021 user_list
-rw-------. 1 root root 7444 3月 3 16:45 vsftpd.conf
-rw-------. 1 root root 5116 3月 3 16:25 vsftpd.conf-bak
-rwxr--r--. 1 root root 338 6月 10 2021 vsftpd_conf_migrate.sh
[root@gzc vsftpd]# vim virtusers
[root@gzc vsftpd]# ll
总用量 32
-rw-------. 1 root root 125 6月 10 2021 ftpusers
-rw-------. 1 root root 361 6月 10 2021 user_list
-rw-r--r--. 1 root root 27 3月 10 11:45 virtusers
-rw-------. 1 root root 7444 3月 3 16:45 vsftpd.conf
-rw-------. 1 root root 5116 3月 3 16:25 vsftpd.conf-bak
-rwxr--r--. 1 root root 338 6月 10 2021 vsftpd_conf_migrate.sh
[root@gzc vsftpd]# rpm –q db
RPM 版本 4.11.3
版权所有 (C) 1998-2002 - 红帽公司。
该程序可以在 GNU GPL 条款下自由分发
用法: rpm [-aKfgpqVcdLilsiv?] [-a|--all] [-f|--file] [-g|--group] [-p|--package] [--pkgid] [--hdrid] [--triggeredby] [--whatrequires] [--whatprovides]
[--nomanifest] [-c|--configfiles] [-d|--docfiles] [-L|--licensefiles] [--dump] [-l|--list] [--queryformat=QUERYFORMAT] [-s|--state] [--nofiledigest]
[--nofiles] [--nodeps] [--noscript] [--allfiles] [--allmatches] [--badreloc] [-e|--erase <package>+] [--excludedocs] [--excludepath=<path>]
[--force] [-F|--freshen <packagefile>+] [-h|--hash] [--ignorearch] [--ignoreos] [--ignoresize] [-i|--install] [--justdb] [--nodeps]
[--nofiledigest] [--nocontexts] [--noorder] [--noscripts] [--notriggers] [--nocollections] [--oldpackage] [--percent] [--prefix=<dir>]
[--relocate=<old>=<new>] [--replacefiles] [--replacepkgs] [--test] [-U|--upgrade <packagefile>+] [--reinstall=<packagefile>+]
[-D|--define “MACRO EXPR”] [--undefine=MACRO] [-E|--eval “EXPR”] [--macros=<FILE:…>] [--noplugins] [--nodigest] [--nosignature]
[--rcfile=<FILE:…>] [-r|--root ROOT] [--dbpath=DIRECTORY] [--querytags] [--showrc] [--quiet] [-v|--verbose] [--version] [-?|--help] [--usage]
[--scripts] [--setperms] [--setugids] [--setcaps] [--restore] [--conflicts] [--obsoletes] [--provides] [--requires] [--info] [--changelog]
[--xml] [--triggers] [--last] [--dupes] [--filesbypkg] [--fileclass] [--filecolor] [--fscontext] [--fileprovide] [--filerequire] [--filecaps]
[root@gzc vsftpd]# yum search db4
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.bfsu.edu.cn
* extras: ftp.sjtu.edu.cn
* updates: ftp.sjtu.edu.cn
======================================================================= N/S matched: db4 =======================================================================
compat-db47.i686 : The Berkeley DB database 4.7.25 compatibility library
compat-db47.x86_64 : The Berkeley DB database 4.7.25 compatibility library
名称和简介匹配 only,使用“search all”试试。
[root@gzc vsftpd]# yum install-y compat-db47.x86_64
\已加载插件:fastestmirror, langpacks
没有该命令:install-y。请使用 /usr/bin/yum --help
[root@gzc vsftpd]# yum install-y compat-db47.x86_64
已加载插件:fastestmirror, langpacks
没有该命令:install-y。请使用 /usr/bin/yum --help
[root@gzc vsftpd]# yum install -y compat-db47.x86_64
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.bfsu.edu.cn
* extras: ftp.sjtu.edu.cn
* updates: ftp.sjtu.edu.cn
base | 3.6 kB 00:00:00
extras | 2.9 kB 00:00:00
mysql-connectors-community | 2.6 kB 00:00:00
mysql-tools-community | 2.6 kB 00:00:00
mysql57-community | 2.6 kB 00:00:00
updates | 2.9 kB 00:00:00
(1/2): extras/7/x86_64/primary_db | 246 kB 00:00:00
(2/2): updates/7/x86_64/primary_db | 14 MB 00:00:29
正在解决依赖关系
--> 正在检查事务
---> 软件包 compat-db47.x86_64.0.4.7.25-28.el7 将被 安装
--> 正在处理依赖关系 compat-db-headers = 4.7.25-28.el7,它被软件包 compat-db47-4.7.25-28.el7.x86_64 需要
--> 正在检查事务
---> 软件包 compat-db-headers.noarch.0.4.7.25-28.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
================================================================================================================================================================
Package 架构 版本 源 大小
================================================================================================================================================================
正在安装:
compat-db47 x86_64 4.7.25-28.el7 base 795 k
为依赖而安装:
compat-db-headers noarch 4.7.25-28.el7 base 48 k
事务概要
================================================================================================================================================================
安装 1 软件包 (+1 依赖软件包)
总下载量:843 k
安装大小:3.5 M
Downloading packages:
(1/2): compat-db-headers-4.7.25-28.el7.noarch.rpm | 48 kB 00:00:00
(2/2): compat-db47-4.7.25-28.el7.x86_64.rpm | 795 kB 00:00:00
----------------------------------------------------------------------------------------------------------------------------------------------------------------
总计 2.5 MB/s | 843 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : compat-db-headers-4.7.25-28.el7.noarch 1/2
正在安装 : compat-db47-4.7.25-28.el7.x86_64 2/2
验证中 : compat-db47-4.7.25-28.el7.x86_64 1/2
验证中 : compat-db-headers-4.7.25-28.el7.noarch 2/2
已安装:
compat-db47.x86_64 0:4.7.25-28.el7
作为依赖被安装:
compat-db-headers.noarch 0:4.7.25-28.el7
完毕!
[root@gzc vsftpd]# db_load -T -t hash-f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db
usage: db_load [-nTV] [-c name=value] [-f file]
[-h home] [-P password] [-t btree | hash | recno | queue] db_file
usage: db_load -r lsn | fileid [-h home] [-P password] db_file
[root@gzc vsftpd]# ll
总用量 32
-rw-------. 1 root root 125 6月 10 2021 ftpusers
-rw-------. 1 root root 361 6月 10 2021 user_list
-rw-r--r--. 1 root root 27 3月 10 11:45 virtusers
-rw-------. 1 root root 7444 3月 3 16:45 vsftpd.conf
-rw-------. 1 root root 5116 3月 3 16:25 vsftpd.conf-bak
-rwxr--r--. 1 root root 338 6月 10 2021 vsftpd_conf_migrate.sh
[root@gzc vsftpd]# vim vsftpd.conf
[root@gzc vsftpd]# useradd ftpuser
[root@gzc vsftpd]# passwd
更改用户 root 的密码 。
新的 密码:
[root@gzc vsftpd]# passwd ftpuser
更改用户 ftpuser 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
抱歉,密码不匹配。
新的 密码:
无效的密码: 密码包含用户名在某些地方
重新输入新的 密码:
抱歉,密码不匹配。
新的 密码:
无效的密码: 密码未通过字典检查 - 它基于字典单词
重新输入新的 密码:
[root@gzc vsftpd]# passwd ftpuser
更改用户 ftpuser 的密码 。
新的 密码:
无效的密码: 密码包含用户名在某些地方
重新输入新的 密码:
[root@gzc vsftpd]# passwd ftpuser
更改用户 ftpuser 的密码 。
新的 密码:
无效的密码: 密码未通过字典检查 - 过于简单化/系统化
重新输入新的 密码:
[root@gzc vsftpd]# useradd -d /data/ftp/ -s /sbin/nologin ftpuser
useradd:用户“ftpuser”已存在
[root@gzc vsftpd]# userdel -r ftpuser
[root@gzc vsftpd]# useradd -d /data/ftp/ -s /sbin/nologin ftpuser
useradd:警告:此主目录已经存在。
不从 skel 目录里向其中复制任何文件。
[root@gzc vsftpd]# passwd ftpuser
更改用户 ftpuser 的密码 。
新的 密码:
[root@gzc vsftpd]# netstat -npal|grep vsftpd
tcp6 0 0 :::21 :::* LISTEN 2337/vsftpd
unix 2 [ ] DGRAM 36939 2337/vsftpd
[root@gzc vsftpd]# getsebool -a | grep ftp
ftpd_anon_write --> off
ftpd_connect_all_unreserved --> off
ftpd_connect_db --> off
ftpd_full_access --> on
ftpd_use_cifs --> off
ftpd_use_fusefs --> off
ftpd_use_nfs --> off
ftpd_use_passive_mode --> off
httpd_can_connect_ftp --> off
httpd_enable_ftp_server --> off
tftp_anon_write --> off
tftp_home_dir --> off
[root@gzc vsftpd]# setsebool -P ftpd_full_access on
[root@gzc vsftpd]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: ens33
sources:
services: dhcpv6-client ftp ssh
ports: 6379/tcp 3306/tcp 80/tcp 8080/tcp 8088/tcp 22/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
[root@gzc vsftpd]# firewall-cmd --zone=public --query-port=21
Error: INVALID_PORT: bad port (most likely missing protocol), correct syntax is portid[-portid]/protocol
[root@gzc vsftpd]# firewall-cmd --zone=public --query-port=21/ftp
Error: INVALID_PROTOCOL: 'ftp' not in {'tcp'|'udp'|'sctp'|'dccp'}
[root@gzc vsftpd]# firewall-cmd --zone=public --query-port=21/tcp
no
[root@gzc vsftpd]# firewall-cmd --zone=public --query-service=ftp
yes
[root@gzc vsftpd]# vim /etc/vsftpd/vsftpd.conf
[root@gzc vsftpd]# vim /etc/vsftpd/vsftpd.conf
[root@gzc vsftpd]# cd /home
[root@gzc home]# mkdir vsftpd
[root@gzc home]# useradd -g root -M -d /home/vsftpd -s /sbin/nologin ftpuser
useradd:用户“ftpuser”已存在
[root@gzc home]# userdel -r ftpuser
userdel:/data/ftp/ 并不属于 ftpuser,所以不会删除
[root@gzc home]# useradd -g root -M -d /home/vsftpd -s /sbin/nologin ftpuser
[root@gzc home]# passwd ftpuser
更改用户 ftpuser 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@gzc home]# chown -R ftpuser.root /home/vsftpd
[root@gzc home]# cd /etc/vsftpd/
[root@gzc vsftpd]# LL
bash: LL: 未找到命令...
[root@gzc vsftpd]# ll
总用量 32
-rw-------. 1 root root 125 6月 10 2021 ftpusers
-rw-------. 1 root root 361 6月 10 2021 user_list
-rw-r--r--. 1 root root 27 3月 10 11:45 virtusers
-rw-------. 1 root root 7572 3月 10 14:39 vsftpd.conf
-rw-------. 1 root root 5116 3月 3 16:25 vsftpd.conf-bak
-rwxr--r--. 1 root root 338 6月 10 2021 vsftpd_conf_migrate.sh
[root@gzc vsftpd]# vi virtusers
[root@gzc vsftpd]# ll
总用量 28
-rw-------. 1 root root 125 6月 10 2021 ftpusers
-rw-------. 1 root root 361 6月 10 2021 user_list
-rw-------. 1 root root 7572 3月 10 14:39 vsftpd.conf
-rw-------. 1 root root 5116 3月 3 16:25 vsftpd.conf-bak
-rwxr--r--. 1 root root 338 6月 10 2021 vsftpd_conf_migrate.sh
[root@gzc vsftpd]# vim vuser_passwd
[root@gzc vsftpd]# db_load -T -t hash -f /etc/vsftpd/vuser_passwd /etc/vsftpd/vuser_passwd.db
[root@gzc vsftpd]# chmod 600 /etc/vsftpd/vuser_passwd.db
[root@gzc vsftpd]#
错误 AppStream
添加dns
vim /etc/resolv.conf
nameserver 114.114.114.114
nameserver 8.8.8.8