Ubuntu20 开启 SSH 服务

image

1、下载 SSH 软件

1sudo apt update
2sudo apt install openssh-server

2、查看 SSH 状态、设置开启自启

1# 查看ssh状态
2sudo systemctl status ssh
3
4# 设置
5sudo systemctl enable --now ssh

MySQL|事务介绍

区别于 MyISAM,InnoDB 支持事务,使其成为了 MySQL 的默认存储引擎,也是大多数 OLTP 系统的首选存储引擎。

MySQL|一条SQL是如何执行的

image 一条 SQL 是如何执行的 首先客户端通过 tcp/ip 发送一条 sql 语句到 server 层的 SQL interface SQL interface 接到该请求后,先对该条语句进行解析,验证权限是否匹配 验证通过以后,分析器会对该语句分析,是否语法有错误 接下来是优化器器生成相应的执行计划,选择最优的执行计划 之后会是执行器根据执行计划执行这条语句。在这一步会去 open table,如果该 table 上有 MDL 锁,则等待,如果没有,则加在该表上加短暂的 MDL(S) (如果 opend_table 太大,表明 open_table_cache 太小。需要不停的去打开 frm 文件) 进入到

分享|常见加密技术

加密是为了保护数据的安全,进行数据校验,或者进行认证。但从加密和认证角度来说,加密分为:对称加密、非对称加密,另外还有不可逆的摘要(Digest)算法。前几天在团队分享加密相关的知识,也是现学现卖,看了本书和在网上查了些资料就开始讲了,废话不多说了,进入本篇文章的主题。

加密相关的基础知识

  • 对称加密
    • 对称加密,通常加密双方持有相同的密钥,其解密算法通常是加密算法的逆运算,经典的是 DES 算法
    • 基于对称加密算法的通信双方共同持用一个密钥,因此通信用户多时会产生大量密钥
    • 对与对称密钥在网络上传输是不安全的(尤其是首次)
    • 对称密钥由于双方都持有相同的密钥,因此不能用于认证,密钥不具有唯一标识性
    • 其特点是:运算快,适合对数据加密
  • 对称加密
    • 对称加密即公私钥加密技术,可以用来加密,也可以用来做认证
      • 加密:公钥进行加密,私钥进行解密
      • 认证:私钥进行签名,公钥可以验证,并且验证可以确定唯一性
    • 对称加密经典的实现是 RSA——基于大素数,另外还有基于离散对数和椭圆曲线来实现的
    • 典型的应用:SSL/TLS、SSH
    • 特点:运算慢,不适合对大量数据加密;因为有两个密钥,加解密不能单靠一个,因此适合在网络上传输;因为私钥通常只有一个,具有唯一性,因此适合做认证
  • 单向加密/信息摘要/信息指纹
    • 信息摘要(Message Digest)是对一块数据进行运算而生成的一段固定的字符串,32 位、64 位等
    • 其特点:无论数据多大,都是固定长度的输出;加密不可逆,常用来做验证;

常见加密技术

对称加密,常见的是 DES、3DES、DESX 等,通过了解古典的加密和 DES 加密的原理可知道,DES 加密的轮数特别多,使其密钥空间特别大,以此来防御破解。其中,3DES 是进行三次同样的算法,比一次的要慢 3 倍。

单向加密,常见的是 MD4、MD5、SHA、SHA1、HMAC 等,不同的是 HMAC 是一种加盐的单向加密,对于不同的密钥有不同的输出,对密码有很好的保护。

业务思考|数据权限问题

在权限管理中一般分为两类:操作权限、数据权限。

操作权限:是用户是否能使用某个功能的接口权限。 数据权限:是用户是否能操作某个范围的数据,例如:订单记录修改接口,“用户”只能修改所属的(用户 A 不能修改用户 B 的订单记录),“admin”可修改所有的。

现有权限管理一般是基于 RBAC(Role-Based Access Control)模型,都只能解决操作权限的控制,即使粒度再小(如把订单权限划分为增、删、改、查权限)也不能解决数据权限的问题。

操作权限与数据权限的关系,下面是个例子:

截屏20210823 上午9.16.27.png

admin 和张三(员工)都有公寓大门的钥匙,他们都能进入公寓(访客不能进入),虽然他们都能进公寓但他们管理但房间是不同的,张三只能使用自己的房间,管理员可以使用所有的房间,如果张三使用了其他人的房间就会引发问题——数据权限安全问题。

那么如何在已有的权限管理模型下对数据权限进行管理是数据安全难以避免的问题。

新乡大数据产业园

Java|异常 Exception 和 Error 区别

异常 Exception 和 Error 区别。

Maven 安装教程

Maven 安装教程。

环境信息:

OS: centos 7

JDK8

使用 Maven 需要先装 jdk,安装 jdk 这里就不说了。

Dubbo、Zookeeper 学习总结

dubbo、zookeeper 是常用的分布式服务治理服务协调框架,dubbo 是常用 RPC 框架,使用简单易上手,dubbo 除了具有 RPC 功能外还有服务注册服务发现的功能(尽管用的不多),zookeeper 是 Hadoop 开源项目下的一个子项目,常用来作为服务的注册中心,另外 zookeeper 也可以用来做分布式锁。

这篇文章的主要内容如下:

  • dubbo RPC 使用
  • RPC 过程
  • dubbo 使用
  • zookeeper 应用场景
  • zookeeper 做分布式锁

Java|SPI 学习总结