网络安全 Day28-运维安全项目-加密隧道

news2024/11/15 11:32:43

运维安全项目-加密隧道

  • 1. 加密隧道服务概述
  • 2. openVPN应用场景
  • 3. 虚拟机环境准备
    • 3.0 准备知识
    • 3.1 添加网卡![请添加图片描述](https://img-blog.csdnimg.cn/f155ca2804d84118b89a69da3688911e.png)
    • 3.2 配置内网(LAN区段)
    • 3.3 虚拟机选择LAN区段
    • 3.4 书写eth1网卡配置文件
  • 4. OpenVPN服务端配置
    • 4.1 环境准备简介
    • 4.2 证书准备流程
      • 4.2.1 安装证书创建工具
      • 4.2.2 创建ca证书
        • 4.2.2.1 充当权威机构 修改vars文件
        • 4.2.2.2 充当权威机构 创建ca证书
      • 4.2.3 创建server端证书和私钥文件
      • 4.2.4 创建dh-pem 算法文件和目录汇总
      • 4.2.5 创建client证书
      • 4.2.6 汇总
      • 4.2.7 小结
    • 4.3 服务端配置文件
      • 4.3.1 书写openvpn服务端配置文件
      • 4.3.2 准备服务端需要的文件
      • 4.3.3 修改systemctl配置文件
      • 4.3.4 启动
      • 4.3.5 检查进程与端口
  • 5. 排障流程
  • 6. 客户端配置文件
    • 6.1 安装客户端
    • 6.2 书写配置文件
    • 6.3 准备配置文件需要的文件
    • 6.4 复制对应的文件到config目录下
    • 6.5 启动客户端![在这里插入图片描述](https://img-blog.csdnimg.cn/e255af3d977542758232fd528ca12f40.png#pic_center)

1. 加密隧道服务概述

  • 两点如何传输数据最安全
  • 方案1: 专线(成本高)
  • 方案2: 硬件设备3层路由器 , 硬件vpn设备 vpn virtual private network 虚拟专有网络 深信服VPN
  • 方案3: 开源软件
    • pptp (不推荐) 使用最简单,不是很稳定,依赖于网络设备的支持.
    • OpenVPN 实现用户/运维/开发,访问网站内网.

2. openVPN应用场景

  • 运营:通过OpenVPN实现网站安全登录:(后台管理地址,设置为只能能通过vpn访问.)
  • 开发:通过OpenVPN让开发与测试人员连接网站,进行开发测试(在家的时候)
  • 运维:通过OpenVPN让各种用户(运维)连接网站内网服务器,或者是连接JMS
    请添加图片描述

3. 虚拟机环境准备

3.0 准备知识

  • LAN区段
    • 没有外网IP,可以理解为一个LAN区段,作为一个虚拟的交换机连接内内网的设备让其进行通信
    • 在堡垒机中作为内网IP与此同时此虚拟机也有外网IP
    • 在配置好VPN之后,VPN客户端就会访问内网了

3.1 添加网卡请添加图片描述

3.2 配置内网(LAN区段)

在这里插入图片描述
在这里插入图片描述

3.3 虚拟机选择LAN区段

在这里插入图片描述

3.4 书写eth1网卡配置文件

  1. 编辑与创建新的网卡配置文件
    vim /etc/sysconfig/network-scripts/ifcfg-eth1 
    
    TYPE=Ethernet
    BOOTPROTO=none
    IPADDR=172.16.1.61
    PREFIX=24
    NAME=eth1
    DEVICE=eth1
    ONBOOT=yes
    
  2. 然后重启network:systemctl restart network
  3. 检查ip:ip a(如果和配置文件中的IP一致就对了)

4. OpenVPN服务端配置

4.1 环境准备简介

  • m01 10.0.0.61
环境准备说明
oldboy-baoopenvpn server服务端
windows 笔记本openvpn 客户端

4.2 证书准备流程

1️⃣创建CA证书 ca.crt 公章
2️⃣server密钥 server.crt server.key服务端使用的毕业证书
3️⃣client密钥
4️⃣OpenVPN服务端配置文件

4.2.1 安装证书创建工具

  1. 检查是否可以访问网络:ping baidu.com 结果中只要有time表示可以链接
  2. openvpn 服务端安装:yum install -y openvpn easy-rsa
  3. 检查是否完成安装:rpm -qa openvpn

4.2.2 创建ca证书

4.2.2.1 充当权威机构 修改vars文件

  • 创建指令(学安全现阶段没必要弄懂)
    #准备目录
    mkdir -p   /opt/easy-rsa
    #已有的内容复制过去
    cp -a /usr/share/easy-rsa/3.0.8/*    /opt/easy-rsa/
    #准备配置文件
    cp  /usr/share/doc/easy-rsa-3.0.8/vars.example    /opt/easy-rsa/vars
    #书写配置内容
    cat  >/opt/easy-rsa/vars<<'EOF'
    if [ -z "$EASYRSA_CALLER" ]; then
    	echo "You appear to be sourcing an Easy-RSA 'vars' file." >&2
    	echo "This is no longer necessary and is disallowed. See the section called" >&2
    	echo "'How to use this file' near the top comments for more details." >&2
    	return 1
    fi
    
    set_var EASYRSA_DN "cn_only"
    set_var EASYRSA_REQ_COUNTRY "CN"
    set_var EASYRSA_REQ_PROVINCE "Beijing"
    set_var EASYRSA_REQ_CITY "Beijing"
    set_var EASYRSA_REQ_ORG "oldboylinux"
    set_var EASYRSA_REQ_EMAIL "oldboy@qq.com"
    set_var EASYRSA_NS_SUPPORT "yes"
    EOF
    
  • 检查指令
    ##创建var后 检查  权威机构信息  
    cd /opt/easy-rsa
    tree 
    .
    ├── easyrsa
    ├── openssl-easyrsa.cnf
    ├── vars           #var ca权威机构信息  
    └── x509-types
        ├── ca
        ├── client
        ├── code-signing
        ├── COMMON
        ├── email
        ├── kdc
        ├── server
        └── serverClient
    
    1 directory, 11 files
    

4.2.2.2 充当权威机构 创建ca证书

  1. 初始化,在当前目录创建PKI目录,用于存储证书
    1. 命令和结果
      cd /opt/easy-rsa
      ./easyrsa init-pki  #初始化,第1次的时候运行,后面不需要重复运行。
      
      结果
      Note: using Easy-RSA configuration from: /opt/easy-rsa/vars  #正在使用来自于vars 
      init-pki complete; you may now create a CA or requests.      #初始化完成  显示你可以尝试创建 CA证书
      Your newly created PKI dir is: /opt/easy-rsa/pki             #初始化后的目录在 pki下面 
      
    2. 检查是否成功:tree结果中多了个pki目录即可。
  2. 创建根证书,会提示设置密码,用于ca对之后生成的server和client证书签名时使用,其他可默认
    1. 命令和结果
       ./easyrsa build-ca
      
      结果
      Note: using Easy-RSA configuration from: /opt/easy-rsa/vars
      Using SSL: openssl OpenSSL 1.0.2k-fips  26 Jan 2017
      
      Enter New CA Key Passphrase:                       #输入密码 并保存好  4-1023位 
      Re-Enter New CA Key Passphrase:                    #输入密码 并保存好
      Generating RSA private key, 2048 bit long modulus
      .....................................+++
      ................................+++
      e is 65537 (0x10001)
      You are about to be asked to enter information that will be incorporated
      into your certificate request.
      What you are about to enter is what is called a Distinguished Name or a DN.
      There are quite a few fields but you can leave some blank
      For some fields there will be a default value,
      If you enter '.', the field will be left blank.
      -----
      Common Name (eg: your user, host, or server name) [Easy-RSA CA]:oldboylinux.cn   #域名即可
      
      CA creation complete and you may now import and sign cert requests.
      Your new CA certificate file for publishing is at:
      /opt/easy-rsa/pki/ca.crt
      
    2. 检查是否成功:检查是否有这个文件即可/opt/easy-rsa/pki/ca.crt

4.2.3 创建server端证书和私钥文件

  1. 请求盖章命令和结果
    ./easyrsa gen-req server nopass
    
    Note: using Easy-RSA configuration from: /opt/easy-rsa/vars
    Using SSL: openssl OpenSSL 1.0.2k-fips  26 Jan 2017
    Generating a 2048 bit RSA private key
    ....................................+++
    .................+++
    writing new private key to '/opt/easy-rsa/pki/easy-rsa-2426.tjsuP4/tmp.wLJyRY'
    -----
    You are about to be asked to enter information that will be incorporated
    into your certificate request.
    What you are about to enter is what is called a Distinguished Name or a DN.
    There are quite a few fields but you can leave some blank
    For some fields there will be a default value,
    If you enter '.', the field will be left blank.
    -----
    Common Name (eg: your user, host, or server name) [server]:
    
    Keypair and certificate request completed. Your files are:
    req: /opt/easy-rsa/pki/reqs/server.req                    #server.req 用于 创建证书(证书资料)
    key: /opt/easy-rsa/pki/private/server.key                 #server私钥文件
    
  2. 给server端证书签名,首先是对一些信息的确认,可以输入yes,然后创建ca根证书时设置的密码:./easyrsa sign server server
  3. 检查是否操作成功(有结果就成功了)
    ll /opt/easy-rsa/pki/issued/server.crt
    ll /opt/easy-rsa/pki/private/server.key
    

4.2.4 创建dh-pem 算法文件和目录汇总

  1. 创建Diffie-Hellman文件,秘钥交换时的Diffie-Hellman算法:/easyrsa gen-dh(用于存放在服务端,生成一次即可)
  2. 检查结果:/opt/easy-rsa/pki/dh.pem

4.2.5 创建client证书

  1. 创建client端证书和私钥文件
    1. 创建client端证书和私钥文件,nopass表示不加密私钥文件,其他可默认:./easyrsa gen-req client nopass
    2. 给client端证书签名,首先是对一些信息的确认,可以输入yes,然后创建ca根证书时设置的密码:./easyrsa sign client client
  2. 检查是否成功:ll /opt/easy-rsa/pki/private/client.key /opt/easy-rsa/pki/issued/client.crt

4.2.6 汇总

服务端使用的文件客户端使用的文件
/opt/easy-rsa/pki/ca.crt/opt/easy-rsa/pki/ca.crt
/opt/easy-rsa/pki/dh.pem
/opt/easy-rsa/pki/issued/server.crt/opt/easy-rsa/pki/issued/client.crt
/opt/easy-rsa/pki/private/server.key/opt/easy-rsa/pki/private/client.key
服务端配置文件客户端配置文件
  • 目录汇总
    [root@m01 /opt/easy-rsa]# tree 
    .
    ├── easyrsa
    ├── openssl-easyrsa.cnf
    ├── pki
    │   ├── ca.crt                        #ca证书 
    │   ├── dh.pem                        #df算法文件 
    │   ├── certs_by_serial
    │   │   ├── 9F69296953C7B7F6DC39C539706A4CA5.pem
    │   │   └── C98F71084F5C70CCBFEEA9FCB5E94912.pem
    │   ├── index.txt
    │   ├── index.txt.attr
    │   ├── index.txt.attr.old
    │   ├── index.txt.old
    │   ├── issued
    │   │   ├── client.crt     			  #client证书         
    │   │   └── server.crt                 #server证书
    │   ├── openssl-easyrsa.cnf
    │   ├── private
    │   │   ├── ca.key
    │   │   ├── client.key                 #客户端私钥 
    │   │   └── server.key                 #服务端私钥
    │   ├── renewed
    │   │   ├── certs_by_serial
    │   │   ├── private_by_serial
    │   │   └── reqs_by_serial
    │   ├── reqs
    │   │   ├── client.req
    │   │   └── server.req
    │   ├── revoked
    │   │   ├── certs_by_serial
    │   │   ├── private_by_serial
    │   │   └── reqs_by_serial
    │   ├── safessl-easyrsa.cnf
    │   ├── serial
    │   └── serial.old
    ├── vars
    └── x509-types
        ├── ca
        ├── client
        ├── code-signing
        ├── COMMON
        ├── email
        ├── kdc
        ├── server
        └── serverClient
    14 directories, 29 file
    

4.2.7 小结

  • 创建vars文件创建ca证书 build-ca
  • 创建server证书和私钥
    • gen-req server nopass
    • sign server server
  • dh.pem 文件
  • 创建client证书和私钥
    • gen-req client nopass
    • sign client client

4.3 服务端配置文件

#服务端配置文件
#配置文件中 各种路径默认相对于 /etc/openvpn

4.3.1 书写openvpn服务端配置文件

  • 查看配置文件

    [root@m01 ~] tree -F /etc/openvpn/
    /etc/openvpn/
    ├── client/
    └── server/
    
    2 directories, 0 files
    
  • 配置文件

    vim /etc/openvpn/server/server.conf
    
    port 1194                               
    proto udp                               
    dev tun                                 
    ca   ca.crt                               
    cert server/server.crt                         
    key server/server.key                          
    dh server/dh.pem                               
    server 10.8.0.0 255.255.255.0           
    push "route 172.16.1.0 255.255.255.0"   
    #ifconfig-pool-persist ipp.txt           
    keepalive 10 120                        
    max-clients 100                         
    status /var/log/openvpn-status.log               
    log /var/log/openvpn.log                
    verb 3                                  
    client-to-client                        
    persist-key     
    persist-tun     
    duplicate-cn  
    
  • 配置文件详解

    [root@web01 openvpn]# vim /etc/opnvpn/server/server.conf
    port 1194                               #端口
    proto udp                               #协议
    dev tun                                 #采用路由隧道模式tun 
    ca ca.crt                               #ca证书文件位置   /etc/openvpn/ca.crt  
                                              
    cert server/server.crt                  #服务端公钥名称 /etc/openvpn 
    key server/server.key                   #服务端私钥名称 /etc/openvpn 
    dh server/dh.pem                        #加密算法文件, 交换证书 校验算法 
    #/etc/openvpn/server/dh.pem
    
    
    server 10.8.0.0 255.255.255.0           #给客户端分配地址池(ip地址范围),注意:不能和VPN服务器内网网段有相同
    push "route 172.16.1.0 255.255.255.0"   #客户端连接后,推送给客户端的路由规则
                                            #客户端想访问 172.16.1.0/24 网段联系openvpn服务端 
    
    #ifconfig-pool-persist ipp.txt           #地址池记录文件位置 未来让openvpn 客户端固定ip地址使用的.
    keepalive 10 120                        #存活时间,10秒ping一次,120 如未收到响应则视为断线
    max-clients 100                         #最多允许100个客户端连接
    status /var/log/openvpn-status.log      #日志记录位置  openvpn状态 
    log /var/log/openvpn.log                #openvpn日志记录位置
    verb 3                                  #verbose  日志输出级别   数字越大越详细 最多11(debug)
    client-to-client                        #客户端与客户端之间支持通信
    persist-key     #通过keepalive检测超时后,重新启动VPN,不重新读取keys,保留第一次使用的keys  对私钥进行缓存.
    persist-tun     #检测超时后,重新启动VPN,一直保持tun是linkup的。否则网络会先linkdown然后再linkup
    duplicate-cn    #客户端密钥(证书和私钥)是否可以重复
    

4.3.2 准备服务端需要的文件

  • 复制证书及密钥
    cd /opt/easy-rsa/pki/
    \cp  ca.crt /etc/openvpn/
    \cp dh.pem   /etc/openvpn/server/
    \cp   issued/server.crt   private/server.key    /etc/openvpn/server/
    
  • 检查是否操作成功
    [root@oldboy-bao pki]# tree -F /etc/openvpn/
    /etc/openvpn/
    ├── ca.crt
    ├── client/
    └── server/
        ├── dh.pem
        ├── server.conf
        ├── server.crt
        └── server.key
    
    2 directories, 5 files
    

4.3.3 修改systemctl配置文件

  • 修改openvpn的systemctl配置文件
    vim   /usr/lib/systemd/system/openvpn@.service
    
    修改ExecStart这行  
    在%i前面加上 %i/即可。
    修改后的样子
    ExecStart=/usr/sbin/openvpn --cd /etc/openvpn/ --config %i/%i.conf
    
    %i表示 server或 client 
    
  • 让linux系统重新加载systemctl配置文件:systemctl daemon-reload

4.3.4 启动

systemctl enable openvpn@server
systemctl start openvpn@server 

4.3.5 检查进程与端口

检查端口
ss -lntup |grep  1194

检查进程
 ps -ef |grep openvpn 

检查ip
ip  a  s  tun0

5. 排障流程

  • 检查配置文件书写与相关的文件是否存在。
  • 查看日志/var/log/openvpn.log.
  • 如果不存在查看/var/log/messages

6. 客户端配置文件

6.1 安装客户端

  • 默认安装到C:\Program Files\OpenVPN\

6.2 书写配置文件

存到临时目录
client.ovpn
client                  
dev tun                 
proto udp               
remote 10.0.0.61 1194   
resolv-retry infinite   
nobind                  
ca   ca.crt             
cert client.crt         
key client.key          
verb 3                  
persist-key             


########配置说明###################################
client                  #指定当前VPN是客户端
dev tun                 #使用tun隧道传输协议
proto udp               #使用udp协议传输数据
remote 10.0.0.61 1194   #openvpn服务器IP地址端口号
resolv-retry infinite   #断线自动重新连接,在网络不稳定的情况下非常有用
nobind                  #不绑定本地特定的端口号
ca ca.crt               #指定CA证书的文件路径
cert client.crt         #指定当前客户端的证书文件路径
key client.key          #指定当前客户端的私钥文件路径
verb 3                  #指定日志文件的记录详细级别,可选0-9,等级越高日志内容越详细
persist-key             #通过keepalive检测超时后,重新启动VPN,不重新读取keys,保留第一次使用的keys

6.3 准备配置文件需要的文件

sz /opt/easy-rsa/pki/ca.crt 
sz /opt/easy-rsa/pki/issued/client.crt 
sz /opt/easy-rsa/pki/private/client.key 

上传到windows桌面,避免直接上传到c盘openvpn目录。

请添加图片描述

6.4 复制对应的文件到config目录下

  • C:\Program Files\OpenVPN
    请添加图片描述
    请添加图片描述

6.5 启动客户端在这里插入图片描述

在这里插入图片描述

  • 屏幕输出,过一会会消失
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/854383.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

力扣hot100刷题记录

二刷hot100&#xff0c;坚持每天打卡&#xff01;&#xff01;&#xff01; 1. 两数之和 // 先求差&#xff0c;再查哈希表 public int[] twoSum(int[] nums, int target) {Map<Integer,Integer> map new HashMap<>();for(int i 0;i<nums.length;i){int key …

UE Mesh Generation and Editing at Runtime

UE Mesh Generation and Editing at Runtime 虚幻运行时和编辑器下生成和编辑 网格体。 UE Mesh 虚幻中常用的三种网格体 UProceduralMeshComponent 程序化网格体 UStaticMeshComponent 静态网格体 USimpleDynamicMeshComponent 动态网格体 借用他人总结的&#xff0c;UE4…

设计一个“完美“的测试用例,用户登录模块实例...

前言 好的测试用例一定是一个完备的集合&#xff0c;它能够覆盖所有等价类以及各种边界值&#xff0c;而跟能否发现缺陷无关 好的测试用例必须具备哪些特征 整体完备性&#xff1a;一定是一个完备的整体&#xff0c;是有效测试用例组成的集合&#xff0c;能够完全覆盖测试需…

在vue中Antv G2 折线图如何添加点击事件获取折线上点的值

在项目中有个需求是点击折线图的点&#xff0c;获取当前点的信息&#xff0c;其它图形都可以参考相关的API获取到&#xff0c;但area做的折线图怎么都获取不到点击的信息&#xff0c;只能获取全部的信息&#xff0c;最终解决如下&#xff1a; 实现思路 用户的鼠标在折线图上移…

高中教师能去美国做访问学者吗?

美国作为世界上高等教育水平较高的国家之一&#xff0c;吸引了众多学者前往交流学习。那么高中教师是否能够成为美国访问学者&#xff0c;这是当然的&#xff0c;高中老师是可以出国访学的&#xff0c;但是出国做访问学者会涉及到多方面的因素。 首先&#xff0c;教师个人的学术…

带你Debug SpringApplication.run(MainApp.class, args) 看看SpringBoot 如何启动Tomcat

&#x1f600;前言 本篇博文是关于SpringBoot 如何启动Tomcat的笔记&#xff0c;希望能够让你到SpringBoot印象深刻&#x1f60a; &#x1f3e0;个人主页&#xff1a;晨犀主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是晨犀&#xff0c;希望我的文章可以帮助到…

2023深圳杯A题完整代码模型

已更新深圳杯A题全部版本&#xff0c;文末获取&#xff01; 摘要 现代社会&#xff0c;随着生活方式的变化和工作压力的增大&#xff0c;慢性非传染性疾病日益成为威胁公众健康的主要问题。心脑血管疾病、糖尿病、恶性肿瘤及慢性阻塞性肺病等慢性病的发病率呈现出上升趋势。为…

Linux 安装部署Seata

标题&#xff1a;在Linux上安装部署Seata分布式事务解决方案 导语&#xff1a; Seata是一个开源的分布式事务解决方案&#xff0c;旨在解决分布式环境下的事务一致性问题。本文将为您介绍如何在Linux操作系统上安装和部署Seata&#xff0c;为您的分布式应用添加强大的事务支持。…

【【萌新的STM32学习-7】】

萌新的STM32学习-7 MAP 文件是MDK代码编译之后&#xff0c;产生的集程序&#xff0c;数据及IO 空间的一种映射列表文件 map 文件是编译器链接时生成的一个文件&#xff0c;它主要包含了交叉链接信息。通过.map 文 件&#xff0c;我们可以知道整个工程的函数调用关系、FLASH 和 …

ThingJS开发使用感受

封面来源于网络。 一、前言 1. 背景 出于为了实现有关厂区的数字孪生项目&#xff0c;断断续续使用ThingJS平台开发一年左右&#xff0c;做一个使用感受的总结。 2. 业务场景 开发一个基于厂区的数字孪生项目&#xff0c;基于ThingJS低代码开发的页面分为div3d、div2d结构&am…

【深度学习笔记】深度学习框架

本专栏是网易云课堂人工智能课程《神经网络与深度学习》的学习笔记&#xff0c;视频由网易云课堂与 deeplearning.ai 联合出品&#xff0c;主讲人是吴恩达 Andrew Ng 教授。感兴趣的网友可以观看网易云课堂的视频进行深入学习&#xff0c;视频的链接如下&#xff1a; 神经网络和…

【源码编译并安装RocketMQ Dashboard】

【源码编译并安装RocketMQ Dashboard】 一、环境说明二、源码编译并执行三、小结 一、环境说明 安装环境&#xff1a;虚拟机VMWare Centos7.6 Maven3.6.3 JDK1.8已经安装了RocketMQ-5.1.3 单Master集群&#xff0c;且使用Local模式部署&#xff0c;即Broker和Proxy同进程部署…

【Java】CAS数据交换流程

CAS的全称是&#xff1a; Compare And Swap(比较再交换)&#xff0c;它体现的一种乐观锁的思想&#xff0c;在无锁情况下保证线程操作共享数据的原子性。 CAS数据交换流程&#xff1a; 此时线程A和线程B都从主内存中拷贝了一份a100的共享变量到自己的工作内存中 线程A操作了变…

手势识别rtos小车(1)----手部识别

1.安装mediapipe库和cv2库 pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simplepip install Mediapipe0.8.9.1 -i https://pypi.tuna.tsinghua.edu.cn/simple some-package 这里我主要还是弄明白了这个pycharm编辑器和项目之间的关系&#xff0c;我在这里…

联盟CPS聚合联盟聚推客推广项目赚钱吗?揭秘有人月入10万+

大家好&#xff0c;我是巧匠&#xff01;最近因为忙碌于项目&#xff0c;都没来得及发布新的文章。不过现在&#xff0c;我给大家带来了一个新的项目玩法——那就是我们常说的淘客CPS系统。相信大家对“聚推客联盟”这个系统都有所了解。这个系统的模式真的很棒&#xff0c;让我…

nodejs登录生成token并验证

目录 一、基础概念 二、JTW 三、实践 一、基础概念 "token"&#xff1a; 是一个通用的术语&#xff0c;指代一种用于表示身份、权限或访问凭证的数据结构。它可以是一个字符串、数字或其他形式的数据。 主要用途&#xff1a; 身份验证&#xff1a;在身份验证过程…

ruoyi若依 组织架构设计--[ 角色管理 ]

ruoyi若依 组织架构设计--[ 角色管理 ] 角色新增后端代码 角色修改后端代码 角色查询角色删除角色分配数据权限后端代码 角色分配用户 角色新增 后端代码 有一点&#xff0c;我认为新增的时候&#xff0c;也需要修改redis中的权限。 角色修改 后端代码 因为修改了role_menu表了…

Database Comparer VCL for Delphi crack

Database Comparer VCL for Delphi crack 数据库比较器VCL比较并同步许多流行数据库的数据库结构(元数据)和表数据。支持的数据库列表不断更新&#xff0c;包括InterBase、FireBird、MySQL、MSSQL、Oracle、Sybase、PostgreSQL、DB2、PervasiveSQL、MSAccess、Paradox、DBASE以…

Java多线程(2)---线程控制和线程安全的详细讲解

目录 前言 一.线程控制方法 1.1启动线程--start() 1.2线程睡眠---sleep()方法 1.3中断线程--interrupt() 方法 1.4等待线程---join() 二.线程安全 2.1数据不安全---数据共享 ⭐不安全的演示和原因 ⭐不安全的处理方法 ⭐synchronize的使用 2.2数据不安全---内存可见…

条条大路通罗马系列—— 使用 Hiredis-cluster 连接 Amazon ElastiCache for Redis 集群

前言 Amazon ElastiCache for Redis 是速度超快的内存数据存储&#xff0c;能够提供亚毫秒级延迟来支持 实时应用程序。适用于 Redis 的 ElastiCache 基于开源 Redis 构建&#xff0c;可与 Redis API 兼容&#xff0c;能够与 Redis 客户端配合工作&#xff0c;并使用开放的 Re…