当前位置: 首页 > news >正文

【Python使用】嘿马python运维开发全体系教程第1篇:网络设定,系统基本优化【附代码文档】

教程总体简介:网络设定 学习目标 1、手动设定 2、DHCP自动获取 系统基本优化 一、永久关闭SELinux 1. 永久关闭 二、关闭防火墙 2. 临时启动关闭防火墙 三、设定运行级别为3(命令行模式) 四、修改ssh端口号 ssh服务 一、ssh介绍 二、客户端远程连接 1. 基于口令安全验证 三、修改sshd的配置文件 四、远程传输命令 日志管理 二、rsyslog Linux概述 目标 二、Unix操作系统 三、Linux发展史 常用工具使用 linux系统管理 一、备份操作系统 1、快照 2、克隆 快照与克隆的区别 四、Linux基本命令(上) 1、目录操作 2、文件操作 3、复制剪切 4、压缩解压缩 5、输出重定向 6、查看文件内容 7、帮助 六、远程连接工具 MobaXterm 使用命令远程连接 vim编辑器 学习背景 二、vim编辑器三种模式 1、三种模式 2、模式切换 3、vim打开文件的四种方式 三、命令模式 2、命令模式常用命令 四、末行模式 五、编辑模式 六、实用功能 1、vim配置显示行号 2、异常退出 3、别名机制 七、vim案例 用户与组管理 二、用户管理 1. 创建用户 2. 设置密码 3. 修改用户信息 三、组管理 1. 用户组添加 4. 组文件说明 权限管理 一、权限概述 1、权限介绍 2、身份介绍 三、所有者和所属组管理 1、chown 2、chgrp 四、umask默认权限(了解) 1、查看umask权限 软件管理 一、RPM包管理 1. RPM软件包常用命令 2. 案例 二、yum软件管理 计划任务 一、计划任务介绍 二、at 一次性计划任务 2、at语法 3、案例 三、cron 周期性计划任务 1、cron介绍 2、crontab命令 Apache服务 一、Apache概述安装 1. 介绍 3. 快速入门 4.apache基本概念 二、apache配置详解及实践 1、配置文件说明 2、配置项详解 三、虚拟主机配置 1、基于ip 四、rewrite重写 五、apache日志切割 1、为什么要进行日志切割 2、日志分割两种方式

完整笔记资料代码:https://gitee.com/yinuo112/Backend/tree/master/Python/嘿马python运维开发全体系教程/note.md

感兴趣的小伙伴可以自取哦~


全套教程部分目录:


部分文件图片:

网络设定

学习目标

  1. 知道查看网络信息的基础命令
  2. 能够手动配置网络信息

1、手动设定

手动设定的ip,也叫做静态ip地址。手动设定ip,必须取得下面的几个参数才能够让系统联网:

  • IP
  • 子网掩码
  • 网关(gateway)
  • DNS主机IP
查看网卡配置项

第一种方式:网卡配置文件所在目录:/etc/sysconfig/network-scripts/

[root@itcast network-scripts]# cd /etc/sysconfig/network-scripts/
[root@itcast network-scripts]# cat ifcfg-eno16777736 
HWADDR="00:0C:29:17:6E:52"  // 硬件地址,mac地址
TYPE="Ethernet"             // 网络类型
BOOTPROTO="dhcp"            // 地址分配方式
...省略...
NAME="eno16777736"          //设备名称
UUID="cad73489-0b2e-46af-bc13-d281d6577606"
ONBOOT="yes"                //是否开机启动

第二种方式:命令方式:nmcli connection show 网卡名称

[root@itcast network-scripts]# nmcli device show eno16777736 
connection.id:                          eno16777736
connection.uuid:                        cad73489-0b2e-46af-bc13-d281d6577606
connection.interface-name:              --
connection.type:                        802-3-ethernet
connection.autoconnect:                 yes
...省略...
ipv4.method:                            auto
ipv4.dns:                               
ipv4.dns-search:                        
ipv4.addresses:                         
ipv4.routes:                            
ipv4.ignore-auto-routes:                no
ipv4.ignore-auto-dns:                   no
ipv4.dhcp-client-id:                    --
ipv4.dhcp-send-hostname:                yes
ipv4.dhcp-hostname:                     --
...省略...

含义:

配置项说明
connection.autoconnect [yes|no]是否开机时启动网络,预设同时是yes
ipv4.method [auto|manual]自动还是手动设定网络参数
ipv4.dnsdns地址
ipv4.addressesip地址
配置网络
# 查看当前网卡数据,由于我们没有静态ip地址,所以使用自动获取的地址信息作为静态ip地址。
[root@itcast network-scripts]# nmcli device show eno16777736
# 配置操作
[root@itcast html]# nmcli connection modify eno16777736 \                        
> connection.autoconnect yes \                                                   
> ipv4.method nanual \                                                           
> ipvr.addresses 172.16.99.248/24 \                                              
> ipv4.gateway 172.16.99.2 \                                                     
> ipv4.dns 172.16.99.2 \   

[root@itcast html]# nmcli connection up eno16777736     # 使网络生效
[root@itcast html]# nmcli connection show eno16777736   # 查看配置状态

2、DHCP自动获取

[root@itcast html]# ncmli connection modify en016777736 \                        
> connection.autoconnect yes \                                                   
> ipv4.method auto    

[root@itcast html]# nmcli connection up eno16777736     # 使网络生效
[root@itcast html]# nmcli connection show eno16777736   # 查看配置状态

系统基本优化

学习目标

  1. 知道如何关闭SELinux和防火墙
  2. 知道如何修改sshd的端口号
  3. 知道如何修改系统默认运行级别

一、永久关闭SELinux

SELinux(Security-Enhanced Linux)是美国国家安全局(NSA)对于强制访问控制的实现,这个功能会提高系统安全性,但会造成很多麻烦,所以一般选择关闭,这也是大多数生产环境的做法。

1. 永久关闭

[root@itcast ~]# cp /etc/selinux/config /etc/selinux/config.bak
[root@itcast ~]# vim /etc/selinux/config
SELINUX=enforcing  改为 SELINUX=disabled

# 及时生效
[root@itcast ~]# setenforce 0

2. 临时关闭

[root@itcast ~]# setenforce 0

二、关闭防火墙

关闭防火墙的目的是为了让初学者学习更方便,将来在学了iptables技术后可再统一开启。 在企业环境中,一般只有配置外网IP的linux服务器才需要开启防火墙,但即使是有外网IP,对于高并发高流量的业务服务器仍是不能开的,因为会有较大性能损失,导致网站访问很慢,这种情况下只能在前端加更好的硬件防火墙了。

1. 永久开启关闭防火墙

开机禁用:systemctl disable firewalld
开机启用:systemctl enable firewalld

2. 临时启动关闭防火墙

启动:systemctl start firewalld
关闭:systemctl stop firewalld
查看状态: systemctl status firewalld

三、设定运行级别为3(命令行模式)

linux主要作为服务器远程主机使用,不会用到界面模式,所以将运行模式改为命令行模式,减少系统资源的浪费

[root@itcast ~]# systemctl set-default multi-user.target

四、修改ssh端口号

修改ssh端口能够增加系统安全性

注意:

  1. 端口范围从0-65535
  2. 不能使用别的服务已经占用的端口(常见的:20、21、23、25、80、443、3389、3306、11211等)
# 打开sshd_config文件,将默认22端口修改为2222
[root@itcast ~]# vim /etc/ssh/sshd_config
Port 2222

# 重启sshd服务
[root@itcast ~]# systemctl restart sshd

ssh服务

学习目标

  1. 能够清楚ssh的作用
  2. 能够使用ssh进行远程连接
  3. 能够使用远程传输指令进行文档传输

一、ssh介绍

ssh(Secure Shell)是一种能够提供安全远程登录会话的协议。该协议有2个作用:远程连接、远程文件传输。

默认端口号是:22。因为ssh协议会对传输的数据进行加密,所以强调ssh协议是安全的。

ssh服务名:sshd(服务名中的d 全称daemon,守护进程)

sshd服务提供两种安全验证的方法:

  1. 基于口令的安全验证:经过验证账号与密码即可登录到远程主机
  2. 基于秘钥的安全验证:需要在本地生成“秘钥对”后将公钥传送至服务端,进行公共秘钥的比较。

二、客户端远程连接

1. 基于口令安全验证

ssh命令用于远程管理linux主机,格式为:ssh 【选项】 主机

选项作用
-p指定连接端口(默认为22)

示例:

[root@itcast ~]# ssh -p22 root@172.16.99.154
# 或者:[root@itcast ~]# ssh root@172.16.99.154
The authenticity of host '172.16.99.154 (172.16.99.154)' can't be established.
ECDSA key fingerprint is SHA256:Bxg4t/hWyxETavu9nPaGxavoXHes90wW106ePXwWLTE.
Are you sure you want to continue connecting (yes/no)? yes   # 第一次连接输入yes
Warning: Permanently added '172.16.99.154' (ECDSA) to the list of known hosts.
root@172.16.99.154's password:                                                           # 此处输入远程主机root用户的密码
Last login: Wed Mar 13 09:06:36 2019 from 172.16.99.1

2. 基于秘钥安全验证

第一步:在本地主机中生成"秘钥对",将公钥传送到远程主机中

[root@localhost 桌面]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):  #回车或这只秘钥的存储路径
Created directory '/root/.ssh'.
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:
e2:6d:a5:a9:66:0c:8d:1a:12:44:44:86:6b:46:b3:9b root@localhost.localdomain
The key's randomart image is:
+--[ RSA 2048]----+
|==               |
|o+               |
|o.o              |
|o+               |
|o.o  o. S .      |
|.E. o..o +       |
| . o o. =        |
|  .   +o         |
|     o.          |

将公钥传送到远程主机

[root@localhost ~]# ssh-copy-id 172.16.247.220(远程服务器地址)
The authenticity of host '172.16.247.220 (172.16.247.220)' can't be established.
ECDSA key fingerprint is 31:f7:3f:e5:5c:98:1f:88:99:2e:79:37:0a:c7:e8:5c.
Are you sure you want to continue connecting (yes/no)? yes      # 输入yes
/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@172.16.247.220's password:                                                     # 输入对应ip的密码

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh '172.16.247.220'"
and check to make sure that only the key(s) you wanted were added.

第二步:在远程服务器中修改sshd服务的配置文件

[root@localhost ~]# vim /etc/ssh/sshd_config

# 将允许秘钥验证的参数设置为yes
#PubkeyAuthentication yes    

# 将允许密码验证的参数设置为no
PasswordAuthentication yes      


# 保存退出,重启ssh服务
[root@localhost ~]# systemctl restart sshd

第三步:无密码远程登录

[root@localhost ~]# ssh 172.16.247.221

三、修改sshd的配置文件

修改sshd服务的端口,重新进行远程连接

注意:

  1. 端口范围从0-65535
  2. 不能使用别的服务已经占用的端口(常见的:20、21、23、25、80、443、3389、3306、11211等)
# 打开sshd_config文件,修改端口为2222
[root@itcast ~]# vim /etc/ssh/sshd_config
Port 2222

# 重启sshd服务
[root@itcast ~]# systemctl restart sshd

退出远程连接终端,重新连接会发现连接不成功,那是因为防火墙对新端口默认是拒绝的,执行一下命令关闭防火墙和selinux:

[root@itcast ~]# setenforce 0
[root@itcast ~]# systemctl stop firewalld

四、远程传输命令

要想将一些文件通过网络传输给其他主机,恰好两台主机都是linux系统,我们可以直接使用scp命令传输文件到另外一台主机

scp命令用于在网络中安全的传输文件

选项作用
-P(大写)指定远程主机的sshd端口号
-r传送文件夹时添加此参数

将本地文件传送到远程主机

格式为:scp 【选项】 本地文件 远程账户@远程ip:远程目录

# 将本地文件/root/out.txt 传送到远程主机的/root/目录
[root@itcast ~]# touch out.txt
[root@itcast ~]# scp -P2222 out.txt root@172.16.99.159:/root/
root@172.16.99.159's password:              //此处输入远程主机的密码
out.txt                                                      100%    0     0.0KB/s   00:00 

# 将本地文件夹/root/outdir 传送到远程主机的/root/目录
[root@itcast ~]# mkdir outdir
[root@itcast ~]# scp -P2222 -r outdir/ root@172.16.99.159:/root/
root@172.16.99.159's password:              //此处输入远程主机密码

将远程主机文件下载到本地

格式为:scp [选项] 远程用户@远程ip:远程文件 本地目录

# 将远程主机的/root/down.txt 文件下载到本地的/root目录
[root@itcast ~]# scp -P2222 root@172.16.99.159:/root/down.txt ./
root@172.16.99.159's password:       //远程主机密码
down.txt                                                                100%    0     0.0KB/s   00:00

# 将远程主机/root/downdir目录下载到本地/root目录
[root@itcast ~]# scp -P2222 -r root@172.16.99.159:/root/downdir ./
root@172.16.99.159's password:    //远程主机密码

相关文章:

  • 【C语言】文件操作
  • 导出cad实体所有信息到txt并打开(生成唯一文件名) ——c#cad二次开发
  • 大数据技术之Scala
  • 5、无线通信基站的FPGA实现架构
  • 大厂算法面试 7 天冲刺:第2天-链表算法深度解析 - 高频面试题与Java实战
  • OpenCv(五)——边缘检测
  • 基础算法篇(3)(蓝桥杯常考点)—图论
  • 【Java】Hibernate的一级缓存
  • 多模态大语言模型arxiv论文略读(一)
  • Mac下小智AI本地环境部署
  • MetaPerceptron:基于200+种优化算法的多层感知器MLP参数优化-附Python免费代码
  • 将pandas.DataFrame转换为以数据为键的字典
  • 【FPGA开发】用 Verilog编程实现一个分秒计数器(实现按键暂停、消抖功能)
  • 关于UDP端口扫描概述
  • Vue表单数据回显失败技术解析与修复指南!!!
  • RapidJSON 处理 JSON(高性能 C++ 库)(四)
  • 检查是否存在占用内存过大的SQL
  • 服务器入门操作1(深度学习)
  • 【Deepseek、ChatGPT】智能气候前沿:AI Agent结合机器学习与深度学习在全球气候变化驱动因素预测中的应用
  • 高通Android10 铃声通话音频80%音量修改
  • 李强签署国务院令,公布修订后的《中华人民共和国植物新品种保护条例》
  • 解放日报:人形机器人新赛道正积蓄澎湃动能
  • 大学2025丨对话深大人工智能学院负责人李坚强:产学研生态比“造天才”更重要
  • 国台办:民进党当局所谓“对等尊严”,就是企图改变两岸同属一中
  • 龚惠民已任江西省司法厅党组书记
  • 日菲同意扩大安全合作,外交部:反对任何在本地区拉帮结派的做法