设置开机自动挂载yum库
mkdir /mydvd
blkid /dev/cdrom 查看光驱设备文件系统类型
# /dev/cdrom: UUID="2020-11-04-11-36-43-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
vim /etc/fstab
/dev/cdrom /mydvd iso9660 defaults 0 0
mount -a 检查挂载是否成功
配置网络参数主机名
虚拟网络类型
· 桥接模式
- Guest与Host连接到同一个交换机上
- 通过桥接物理网卡,相当于直连到Host所在网络
· 隔离模式
- Guest可访问同一虚拟机交换机上的其他Guest
- 但无法访问Host所在外部网络
配置永久的主机名
echo svr7.tedu.cn > /etc/hostname 把主机名写入hostname配置文件,主机名就永久修改了
cat /etc/hostname
# svr7.tedu.cn
修改网卡命名规则(eth0 、eth1 、eth2…)
mv /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-eth0 修改网卡配置文件名称
sed -i "s#ens33#eth0#g" ifcfg-eth0 修改网卡配置文件设备名称
vim /etc/default/grub grub是内核引导程序
grub2-mkconfig -o /boot/grub2/grub.cfg 让网卡命名规则生效
reboot 重启计算机读入grub文件的配置信息
- 注意 : 我们在修改网卡名称的时候,需要遵循网卡命名规则(eth0,eth1,eth2…),否则是无法修改成功的。
修改Nmcli命令所识别的网卡名
我们使用nmcli 命令为网卡命名,该命令会自动给网卡添加名字,如下:
DEVICE是系统内核真正识别的名字,NAME是nmcli命令所识别的名字,我们需要把这两个名字改成一致,方便使用
NAME UUID TYPE DEVICE
有线连接 1 86ad5d60-7c01-4ee5-a7aa-1957e64335a1 ethernet eth0
1. nmcli 命令的网卡命名,删除错误网卡命名
nmcli connection show 查看所有的网卡命名(支持缩写,nmcli co s)
nmcli connection delete 有线连接\ 1 # 如果删除的名字中有空格,那么需要加\ 进行转意
nmcli connection show
2. nmcli命令的网卡命名,添加网卡名
nmcli connection add type enthernet ifname eth0 con -name eth0
nmcli connection show
配置网络参数的IP地址,子网掩码,网关地址
nmcli connection modify eth0 ipv4.method manual ipv4.addresses 192.168.4.7/24 ipv4.gateway 192.168.5.255 connection.autoconnect yes
我们这里配置的网关并不是真正存在的,只是熟悉一下格式,是无法ping通的(手动配置IP地址和子网掩码是必须要写的,网关可写可不写)
我们通过命令去写配置网络的参数,其实是在修改网卡配置文件里面的内容 : /etc/sysconfig/network-scripts/ifcfg-eth0
nmcli connection up eth0 激活网络参数的配置信息
ifconfig | head -2 查看配置信息
route -n 查看网关信息
配置网络参数的DNS服务器地址
DNS服务器 : 负责域名解析的机器,将域名解析为IP地址
专门指定本机服务器域名的配置文件:/etc/resolv.conf
echo nameserver 8.8.8.8 > /etc/resolv.conf 将服务器的域名设为8.8.8.8
模板机器修改
将UUID进行修改,修改为/dev/sda1,UUID指向的就是/dev/sda1
的文件路径
完成真机与虚拟机的通信
- 配置虚拟网卡
- 修改虚拟网络类型
- 尝试用真机连接虚拟机
配置完成后,只需要将配置好的虚拟机IP地址做一下更改就可以了,如下所示 :
将该克隆机的IP地址修改成192.168.4.207/24
nmcli connection modify eth0 ipv4.method manual ipv4.addresses 192.168.4.207/24 connection.autoconnect yes
nmcli connection up eth0 激活网络参数的配置信息
ifconfig | head -2 查看配置信息
远程管理服务器,只需要直接下载xshell软件,直接连接虚拟机的ip地址就可以了
源码编译安装
- RPM软件包 : rpm -ivh yum install
- 源码包----->开发工具--->可以执行的程序---->运行安装
· 主要优点
- 获得软件的最新版,及时修复bug
- 软件功能可按需选择/定制,有更多软件可供选择
- 源码包适用于各种平台
- ...
步骤一 : 安装开发工具
yum -y install make 安装源码包的开发工具
yum -y install gcc 安装源码包的开发工具
rpm -q gcc 查看源码包是否安装完成
rpm -q make 查看源码包是否安装完成
步骤二 : 进行tar解包
一般是跟源码包相关的,或者是源码包我们都会解压到/usr/local/下
tar -xf /root/A.tar.gz -C /usr/local/
步骤三 : 运行configure脚本进行配置
作用1:检测系统是否安装了gcc
作用2:可以指定安装位置及功能
cd /usr/local/A.tar.gz/ 切换到源码的安装路径
#./configure ./只能在相对路径下使用,代表运行configure脚本的意思
./configure --prefix=/opt/myrpm 指定安装位置(并不会产生目录/opt/myrpm)
步骤四 : make install 进行安装
作用 : 产生可以执行的程序
cd /usr/local/A.tar.gz/ 切换到源码的安装路径
make install 安装并产生/opt/myrpm目录
ls /opt/myrpm 查看目录下解码的文件和内容
SSH协议
- SSH Secure Shell
- 为客户机提供安全的Shell环境
- 默认端口 : TCP22
- 作用 : 可以实现Linux 与 Linux之间的远程管理
OpenSSH 服务
- 服务名称 : sshd
- 主程序 :
/usr/sbin/sshd、/usr/bin/ssh
- 配置文件 :
/etc/ssh/sshd_config、/etc/ssh/ssh_config
rpm -qa | grep openssh 查看openssh软件包有没有安装
# openssh-7.4p1-21.el7.x86_64
# openssh-clients-7.4p1-21.el7.x86_64
# openssh-server-7.4p1-21.el7.x86_64
ssh root@192.168.4.207 使用ssh命令在该端口远程登陆@192.168.4.207服务器
root@192.168.4.207's password: 输入@192.168.4.207的密码
#Last login: Sat Mar 13 22:09:17 2021 from 192.168.4.15
exit 退出
cat /root/.ssh/known_hosts 记录曾经远程管理过的服务器
# 192.168.4.207 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNSlLgxfUiRGZWsY10VyFCzSh2TiyZc2uY9MLVu6C5fBFmPcy0js6LBZkXeJb9qO9N34V2Vh+b12tgJ+cKimmmc=
实现ssh远程管理无密码验证
- 虚拟机A生成公钥(锁)与私钥(钥匙)进行验证
ssh-keygen 生成公钥与私钥
# Generating public/private rsa key pair.
# Enter file in which to save the key (/root/.ssh/id_rsa): 回车,保存位置,默认位置(/root/.ssh/id_rsa)
# Enter passphrase (empty for no passphrase): 回车,设置密码为空
# Enter same passphrase again: 回车,设置密码为空
# Your identification has been saved in /root/.ssh/id_rsa.
# Your public key has been saved in /root/.ssh/id_rsa.pub.
# The key fingerprint is: 回车
# SHA256:7tSorPdUeWw2rZu42gqBhXjUzqKLU+IcGopGScaS7Rw root@svr7.tedu.cn
# The key's randomart image is: 回车
+---[RSA 2048]----+
| .. |
| o .. |
|.o. oo. |
|o+E..oo o . |
|+o.o... S o * . |
|o+= o + + o |
|B=.. . = . . |
|*+. ..* . . o |
|.. .oo.=o+.o |
+----[SHA256]-----+
ls /root/.ssh/ 查看公钥与私钥保存位置的目录
# id_rsa(私钥) id_rsa.pub(公钥) known_hosts(记录曾经远程管理过谁)
- 将公钥(锁)传递给需要被管理的虚拟机B
ssh-copy-id root@192.168.4.207 将虚拟机A的公钥传递给虚拟机B
# /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
# /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
# /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@192.168.4.207’s password: 输入虚拟机B的密码
# Number of key(s) added: 1
# Now try logging into the machine, with: "ssh 'root@192.168.4.207'"
# and check to make sure that only the key(s) you wanted were added.
ssh root@192.168.4.207 无密码远程登陆虚拟机B
# Last login: Sat Mar 13 23:28:36 2021 from 192.168.4.7
exit 退出
# logout
# Connection to 192.168.4.207 closed.
可以切换到虚拟机B的终端进行查看到虚拟机A公钥
ls /root/.ssh/
# authorized_keys(别的机器传递过来的公钥) known_hosts
我们也可以通过vim编辑器打开/root/.ssh/authorized_keys可以看见公钥加密的密码和主机名
安全复制工具 scp
scp = ssh + cp
- scp [-r] 用户名@服务器:路径 本地路径
- scp [-r] 本地路径 用户名@服务器 : 路径
无论是传递数据还是下载数据,涉及到目录就需要用到 -r
在虚拟机A上 把A虚拟机的数据传递给虚拟机B
scp /etc/passwd root@192.168.4.207:/root 将虚拟机A下的文件/etc/passwd以root的身份复制到虚拟机B的root目录下
# root@192.168.4.207's password: 输入虚拟机B的密码
# passwd 100% 938 746.8KB/s 00:00
scp -r /home root@192.168.4.207:/root 将虚拟机A下的目录/home以root的身份传递给虚拟机B下的root目录下
# root@192.168.4.207's password: 输入虚拟机B的密码
在虚拟机A上下载虚拟机B的数据
scp root@192.168.4.207:/etc/passwd /mnt/ 将虚拟机B下的文件的/etc/passwd以root的身份下载到虚拟机A的mnt目录下
# root@192.168.4.207's password: 输入虚拟机B的密码
scp -r root@192.168.4.207:/home /mnt/ 将虚拟机B下的目录的/home以root的身份下载到虚拟机A的mnt目录下
# root@192.168.4.207's password: 输入虚拟机B的密码
网络工具
· ip命令
ip address show 查看ip地址
ip address add 192 168.8.1/24 dev eth0 为网卡eth0 添加多个ip地址(临时添加)
ping 192.168.8.1
· ping命令 ,测试网络连接
-选项 -c 包个数
ping -c 2 192.168.8.1 ping2次192.168.8.1
自定义yum仓库
将自己在互联网中下载的RPM软件包,构建为一个Yum仓库
Yum仓库组成 : 1. 众多的软件包 2. 仓库数据文件
自定义yum仓库的步骤 :
-
将真机
tools.tar.gz
传递给虚拟机A -
进行tar解包
tar -tf /root/tools.tar.gz -C / 查看包里面的内容
tar -xf /root/tools.tar.gz -C / 将tar包解压到根目录下
- 生成仓库数据文件
createrepo
createrepo /tools/other/ createrepo自动识别/tools/other/目录下的文件,自动生成仓库数据文件
ls /tools/other/
# repodata
- 书写客户端配置文件
vim /etc/yum.repos.d/mydvd.repo
[myrpm] 仓库的标识,不能跟已经存在的yum仓库名字冲突
name=2008
baseurl=file:///tools/other 指定目录文件路径
enabled=1
gpgcheck=0
yum repolist 查看yum仓库
日志管理
· 日志的功能
- 记录系统、程序运行中发生的各种事件
- 通过查看日志,了解及排除故障
- 信息安全控制的"依据"
· 由系统服务reyslog
统一记录/管理
- 日志消息采用文本格式
- 主要记录事件发生的事件、主机、进程、内容
· 常见的日志文件
用户日志
· 由登陆程序负责记录/管理
- 日志消息采用二进制格式
- 记录登陆用户的时间、来源、执行的命令等信息
日志分析
· 通用分析工具
- tail、tailf、less、grep等文本浏览/检索命令
- awk、sed等格式化过滤工具
· 专用分析工具
- Webmin系统管理套件
- Webalizer、AWStats等日志统计套件
tailf : 实时跟踪文件内容
虚拟机B :
[root@pc207 ~] echo 123 > /opt/a.txt
[root@pc207 ~] tailf /opt/a.txt
# 123
虚拟机A :
[root@svr7 ~] ssh root@192.168.4.207
# root@192.168.4.207's password:
# Last login: Sun Mar 14 16:39:34 2021 from 192.168.4.7
[root@pc207 ~] echo abc >> /opt/a.txt
查看虚拟机B的终端 :
[root@pc207 ~] tailf /opt/a.txt
# 123
# abc
用户登陆分析
· users、who、w命令
- 查看已登陆的用户信息,详细度不同(w输出最详细,users输出最粗略)
· last、lastb命令
- 查看最近登陆成功 / 失败的用户信息
who 查看已登陆的用户信息
# root pts/0 2021-03-14 15:51 (192.168.4.15) pts:图形命令行
# root pts/1 2021-03-14 16:36 (192.168.4.15)
# root pts/2 2021-03-14 18:04 (192.168.4.7)
last -2 查看最近两条登路成功记录
# root pts/2 192.168.4.7 Sun Mar 14 18:04 still logged in
# root pts/2 192.168.4.7 Sun Mar 14 16:39 - 16:39 (00:00)
lastb -2 查看最近两天登陆失败记录
# root ssh:notty pc207 Sun Mar 14 18:21 - 18:21 (00:00)
# root tty1 Wed Mar 3 18:37 - 18:37 (00:00)
日志消息的优先级
Linux内核定义的时间紧急程度
- 分为0-7共8种优先级别
- 其数值越小,标识对应事件越紧急 / 重要
0 EMERG(紧急) 会导致主机系统不可用的情况
1 ALERT(警告) 必须马上采取措施解决的问题
2 CRIT(严重) 比较严重的情况
3 ERR(错误) 运行出现错误
4 WARNING(提醒) 可能会影响系统功能的事件
5 NOTICE(注意) 不会影响系统但值得注意
6 INFO(信息) 一般信息
7 DEBUG(调试) 程序或系统调试信息等
使用journalctl工具
· 提取由systemd-journal服务搜集的日志
- 主要包括内核/系统日志、服务日志
· 常见用法
- journalctl | grep 关键词
- journalctl -u 服务名 [-p 优先级]
- journalctl -n 消息条数