一、加密算法
1.1 不可逆加密算法
可以通过数据计算加密后的结果,但是通过结果无法计算出加密数据
应用场景
Hash
算法常用在不可还原的密码存储、信息完整性校验。
文档、音视频文件、软件安装包等用新老摘要对比是否一样
(
接收到的文件是否被修改
)
用户名或者密码加密后数据库存储
(
数据库大多数不会存储关键信息的明文,就像很多登录功
能的忘记密码不能找回,只能重置
)
案例
123456
e10adc3949ba59abbe56e057f20f883e
md5(md5(123456))-----md5(654321)
1.2 对称加密算法
特点:加密和解密同时使用的密钥
优点:生成密钥的算法公开、计算量小、加密速度快、加密效率高、密钥较短
缺点:双方共同的密钥,如果有一方密钥被窃取,双方都影响
如果为每个客户都生成密钥,则密钥数量较大,密钥管理有压力
应用场景:登录信息用户名和密码加密、传输加密、指令加密
案例
:
原文:今晚八点学校小树林见
密钥:
love
7gjM6FhIc89ACoel+jJ3VM26XGAdSlaHTj5NYg4VkKA=
1.3非对称加密
非对称加密一般需要一对密钥(两个密钥)
公开密钥
(publickey)
和私有密钥
(privatekey)(
简称公钥,私钥
)
。
公开密钥与私有密钥生成时是一对
用公钥加密只能是对应的私钥解密,同理用私钥加密只能用对应的公钥解密。
代表性算法叫做
RSA
、
ECC
、
Diffie-Hellman
、
El Gamal
、
DSA(
数字签名用
)
优点:
安全性高
缺点:
加解密相对速度慢、密钥长、计算量大、效率低
应用场景
HTTPS(ssl)
证书里制作、
CRS
请求证书、金融通信加密、蓝牙等硬件信息加密配对传输、关键
的登录信息验证。
1.4 主机间的相互免密钥
可以通过
ssh
命令免秘钥连接到其他的主机
如果是第一次建立连接,需要输入
yes
在
~/.ssh/known_hosts
文件记录了以前访问地址
(ip hostname)
的信息
在访问地址的时候如果没有收录到
known_hosts
文件中,就需要输入
yes
如果以前收录到
known_hosts
中,直接输入密码即可
需要输入密码
生成秘钥
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
如果你想免秘钥登录谁,只需要把自己的公钥传递给对方主机即可
这个秘钥要放在
~/.ssh/authorized_keys
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.xx.xx
二、日期与时间
查看时区
ll /etc/localtime
/etc/localtime -> ../usr/share/zoneinfo/America/Los_Angeles
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
date
查看当前系统时间
cal
查看日历
cal 2020
修改时间
date -s 11:11:11
date -s 2019-11-11
date -s '2019-11-11 11:11:11'
日期自动同步
首先安装时间同步的服务
yum install ntp -y
自动同步网络时间中心
ntpdate cn.ntp.org.cn
自动同步网络时间中心本地
NTP
服务
NTP
服务器
# vi /etc/ntp.conf
开启本地
NTP
服务器
systemctl start ntpd.service
同步时间
ntpdate 192.168.88.100
三、用户、组、权限
用户
新增用户
useradd luckyboy
会创建同名的组和家目录
设置密码
passwd luckyboy
#========
权限控制
============
restrict default kod nomodify notrap nopeer noquery
拒绝
IPV4
用户
restrict -6 default kod nomodify notrap nopeer noquery
拒绝
IPV6
用户
restrict 210.72.145.44
授权国家授时中心服务器访问本地
NTP
restrict 133.100.11.8
授权
133.100.11.8
访问本地
NTP
restrict 127.0.0.1
restrict -6 ::1
restrict 192.168.88.2 mask 255.255.255.0 nomodify
本地网段授权访问
#=========
源服务器
===========
server cn.ntp.org.cn prefer
指定上级更新时间服务器,优先使用这个地址
#=========
差异分析
===========
driftfile /var/lib/ntp/drift
keys /etc/ntp/keys
删除用户
userdel -r luckyboy
级联删除家目录和组
修改用户信息
usermod -l luckyss luckyls
修改用户名
家目录和组名称是不会被修改的
usermod -L luckyss
锁定用户名
usermod -U luckyss
解锁用户名
常用文件
cat /etc/shadow
用户名和密码
cat /etc/passwd
用户名,编号
,
组编号
,
家目录,命令,目录
6.5
系统
0-499
普通
500+
7.6
系统
0-999
普通
1000+
切换账户
su luckyboy
组
创建组
groupadd lucky
删除组
groupdel lucky
修改组名字
groupmod -n bdp lucky
查看用户对应的组
groups
groups bdpboy
当我们创建用户的时候,会默认创建一个同名的主组
修改用户的组
usermod -g lucky bdpboy (
主组
)
usermod -G lucky bdpls (
附属组
)
权限
三组权限,每组
3
个字母
r :
读取权限
w :
写入权限
x :
执行权限
-:
没有权限
root :
所属用户
(
属主
)
root
:所属的组(属组)
权限的
UGO
模型
三组权限
属主的权限:属组的权限:其他的权限
所有说:将来修改文件的权限 可以从
rwx
和
ugo
两个方面进行修改
修改文件的权限
修改文件所属
chown n1 /var/lucky1
chown n1:m1 /var/lucky2
修改文件夹时,让子目录迭代修改
chown -R n1:m1 bdp
chgrp m2 lucky3
当用户的组被修改之后,需要重新登录才能获取新组的权限
修改文件的
rwx
chmod o+w lucky4
chmod ug+rw lucky4
chmod ugo-rw lucky4
(权限
RWX
分别对应数字
4 2 1 5= 4+0+1 r-x
)
chmod 664 lucky4 ->(rw- rw-r--)
权限赋予
我们可以将管理用的权限分配给普通用户
文件位置在
vim /etc/sudoers
但是修改这个文件需要使用命令
visudo
修改
Line 99
n1 ALL=(root) /sbin/useradd
n1 ALL=(root) /sbin/*
如何使用
su n1
sudo chkconfig iptables off
四、
管道与重定向
管道
将前面命令的结果作为参数传递给后面的命令
grep
强大的文本搜索工具
cat profile | grep if
ls / | grep ^t
重定向
改变数据输出的位置,方向
0 in 1 out 2 err
ls / 1> lucky
标准输出
ls / > lucky
标准输出
ls abcd 2>lucky
错误输出
>
替换
>>
追加
ls / 1>> lucky
ls / 1> lucky
结合使用
ls /etc /abc > lucky 2>&1
ls /etc /abc >> lucky 2>&1
信息黑洞
ls /etc /abc >> /dev/null 2>&1
五、Linux
的系统进程
进程信息
ps -ef
UID PID PPID C STIME TTY TIME CMD
UID
所属用户
PID
当前进程编号
PPID
当前进程编号的父进程编号
ps -ef | grep redis
ps -aux
所有信息
ps -aux --sort -pcpu
top
当前服务器内存使用率
后台进程
只需要在命令的后面添加一个
&
符号
ping
www.baidu.com
>> baidu &
jobs -l
可以查看当前的后台进程
但是只有当前用户界面可以获取到
nohup
可以防止后台进程被挂起
nohup ping
www.baidu.com
>> baidu 2>&1 &
杀死进程
kill -9 17599