centos安装jdk,tomcat,mysql,nginx,redis,ftp,cronolog,openssl

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

  1. rpm -qa | grep -i mysql // 查看命令1

  2. yum list install mysql* // 查看命令2

  3. 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两步查看的信息删除

  4. whereis mysql
    查询mysql安装目录

  5. find / -name mysql
    查询mysql

  6. 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。。。。。。。。
    删除查询出的目录,我的这个是在没有删除安装包的情况下截的图,所以可能比较多

  7. rm –rf /usr/my.cnf
    rm -rf /root/.mysql_sercret
    删除mysql 配置文件

  8. chkconfig --list | grep -i mysql
    chkconfig --del mysqld // 服务名为你设置时候自己设置的名字
    删除mysql开机自启动服务

  9. mkdir soft
    cd soft
    选择一个目录下载并安装

  10. 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源安装成功

  11. 先执行:yum module disable mysql
    先执行:yum module disable mysql

  12. 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)

  1. 使用工具,本地连接,创建数据库;如果使用localhost请 GRANT ALL PRIVILEGES ON . TO ‘root’@‘localhost’ identified by “1111111111”;

  2. 查看防火墙3306是否开启;firewall-cmd --zone=public --query-port=3306/tcp
    开启 firewall-cmd --zone=public --add-port=3306/tcp --permanent
    重新载入 firewall-cmd --reload

  3. 移动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 启动服务

  1. 如果启动时出现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

  1. 项目运行是出现 表找不到,可能是mysql区分大小写了;
    linux默认区分大小写,需要重新设置
    windows默认不区分大小写
vim /etc/my.cnf

添加lower_case_table_names=1
  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半小时
  1. 在这里插入代码片

centos7离线安装gcc

下载地址rpm下载地址-http://vault.centos.org/7.0.1406/os/x86_64/Packages/

下载下列rpm并上传至服务器
cpp­4.8.2­16.el7.x86_64.rpm
gcc­4.8.2­16.el7.x86_64.rpm
glibc­2.17­55.el7.x86_64.rpm
glibc­common­2.17­55.el7.x86_64.rpm
glibc­devel­2.17­55.el7.x86_64.rpm
glibc­headers­2.17­55.el7.x86_64.rpm
glibc­static­2.17­55.el7.x86_64.rpm
glibc­utils­2.17­55.el7.x86_64.rpm
kernel­headers­3.10.0­123.el7.x86_64.rpm
libmpc­1.0.1­3.el7.x86_64.rpm
mpfr­3.1.1­4.el7.x86_64.rpm

安装
rpm -Uvh *.rpm --nodeps --force
验证
gcc -v

centos8离线安装MySql5.7

  1. 创建用户组,用于安全
# 创建新数组 mysql
groupadd mysql
# 创建用户 mysql ,指定属组为 mysql,禁止其登录
useradd -r -g mysql mysql -s /sbin/nologin
# 创建安装目录
mkdir /usr/local/mysql
  1. 解压配置
# 进入到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
  1. 初始化
# 将安装目录的所有权授予用户、属组 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
  1. 开机启动
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
  1. 启动
# 启动mysql服务
service mysqld start


# 停止mysql服务
service mysqld stop
# 重启mysql服务
service mysqld restart
# 查看mysql服务是否启动
service mysqld status
  1. 内部配置
登录
# 进入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升级(备份·重新安装方式)

  1. 查看mysql信息
    ps -ef|grep mysql
  2. 备份数据库数据及文件,停止数据库服务,删除原数据运行包及配置
 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)
  1. 解压新数据库包,复制到运行位置,清空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
  1. 导入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
  1. 重启数据库

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

  1. 给权限 chmod 777 文件地址
  2. crontab定时任务

mysql主从设置

  1. 配置my.cnf
[mysqld]
log-bin=mysql-bin-master 
server-id=201 
binlog-do-db=iplat
binlog-do-db=sdgl
  1. 授权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)


  1. 保证主从同步的库一致
  2. 从库配置文件
[mysqld]
server-id=202
  1. 配置
重置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

  1. 安装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

  1. 配置telnet服务,同下
  2. 下载安装依赖包
[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
  1. 配置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
  1. 开启开机启动
[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
  1. 关闭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 114 11:14 redis-benchmark
-rwxr-xr-x. 1 root root 3612800 114 11:14 redis-check-aof
-rwxr-xr-x. 1 root root 3612800 114 11:14 redis-check-rdb
-rwxr-xr-x. 1 root root  507832 114 11:14 redis-cli
-rw-rw-r--. 1 root root   57798 1217 18:31 redis.conf
lrwxrwxrwx. 1 root root      12 114 11:14 redis-sentinel -> redis-server
-rwxr-xr-x. 1 root root 3612800 114 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值