红帽Linux网络管理运维(持续更新)

前言

学校开设Linux和Linux网络管理课程,将学习过程记录一下

一、密码恢复

1.重启按e进入内核模式
在这里插入图片描述
2.光标移动到16行,添加rd.break console=tty0然后,ctrl+x重启
在这里插入图片描述
3.输入命令

Mount –o remount,rw /sysroot
Chroot /sysroot
Passwd 12345的6 //重置的密码
Touch ./autorelabel

二、配置静态地址

1.nmcli命令
①NetworkManager 守护进程
②nmcli是命令行管理NetworkManager的工具
③配置文件在/etc/sysconfig/network-scripts目录下
④网络的配置基于会话,一个网卡可以有多个会话,但是只允许一个会话处于激活状态
命令:nmcli device 硬件相关设置 connection逻辑配置相关设置
nmcli connection add添加 delete删除 edit编辑 show查看 down停掉 modify修改 up启用

实操:请配置两台Linux主机,地址均为手动配置,服务器ip地址为192.168.1.254/24客户端ip地址为192.168.1.10/24 网关地址为192.168.1.1/24 dns为8.8.8.8
命令: nmcli connection add con-name static ifname eno16777736 type ethernet ip4 192.168.1.254/24 gw4 192.168.1.1
在这里插入图片描述
①解释:con-name static会话名称 ifname ens33接口名(网卡)type ethernet 网卡类型为以太网卡 ip4是ip地址 gw4是网关地址 /24为网络前缀,默认为32
ipv4.method manual会话配置方式为手动配置(动态为auto)ipv4.dns表示dns服务器
nmcli connection up static 启动刚刚添加的信息
nmcli connection modify static ipv4.method manual 改为手动配置
nmcli connection show 查看网络会话
nmcli connection show static 查看网络会话具体信息
在这里插入图片描述
配置客户端命令一样的,只是改下ip地址
在这里插入图片描述
2.测试网络连通性
①ip命令=ifconfig命令 centos7默认ip命令
语法:ip [options] object [command[arguments]] 可选项 操作对象 操作对象要执行什么命令,以及效果如何
常用选项:ip addr查看网络地址信息 ip link set up/down激活或停止网络接口
ip addr add ip地址 dev 网卡名 临时设置ip地址
②ping 命令:不会自动终止,需ctrl+c指定次数或终止
在这里插入图片描述
3.网卡链路聚合
解释:多个物理网卡聚合成一张虚拟网卡,当一张物理网卡损坏时,整个网络不会down掉
(一)常见模式
①round-robin policy负载均衡轮询策略 提供负载均衡和容错能力
②active-backup policy 主备用策略 当一张网卡down掉,另一张即刻转换为主状态 只提供容错能力
③broadcast 广播策略 过于浪费资源,但有很好的容错能力
④load balancing 负载均衡 提供非常好的负载均衡
(二)创建链路聚合会话
nmcli connection add con-name team0 ifname team0 type team config '{"runner":{"name":"activebackup"}}' 主链路
解释 ifname 和会话同名 type类型 config 网卡链路聚合模式
②添加网卡成员
nmcli connection add con-name team0-p1(会话名称) ifname ens33(网卡名字) type team-slave master team0 (主会话名称)
ifname真实物理网卡 type类型team后面跟名字 slave是成员的意思 master是主人的意思为team0服务
nmcli connection modify team0 ipv4.addresses “192.168.1.10/24” ipv4.gatway 192.168.1.1 ipv4.method manual
nmcli connection modify team0 ipv4.metthod manual 设置为手动配置
nmcli connection up team0 启用会话
nmcli connection show 查看网络会话
(三)测试链路聚合
①查看链路聚合状态:teamdctl team0 state
②断开一张网卡:nmcli device disconnect eth0
③重启网络让配置生效:systemctl restart network
(四)配置ipv6地址
nmcli connect mod con-name team0 ifname ens33 type ethernet ipv6.address 1:123::ABCD:0:10/96 ipv6.gatway 1:123::ABCD:0:1/96 ipv6.method manual 配置服务器地址
②systemctl restart network 重启网卡
(五)测试ipv6地址
nmcli connection add con-name ipv6 ifname ens33 type ethernet ipv6.addresses 1:123::ABCD:0:20/96 ipv6.method manual 配置客户端
ping6 1:123:abcd:10 测试连通性

三、认识ssh

1.登陆ssh 登陆方法:ssh 用户@ip地址 然后回车 输入密码 -X加载图形化界面
第一次登陆会提示是否信任该主机,选择yes就好,这个是防中间人攻击的
在这里插入图片描述
2.使用密钥登陆:生成密钥 ssh-keygen ,一直回车,然后进入.ssh目录 把id_rsa.pub公钥传到服务器上,使用命令ssh-copy-id user01@192.168.1.254,期间会叫你输入服务器的user1用户密码
在这里插入图片描述
再次登录,不用密码了
在这里插入图片描述

3.使用ssh备份,还原(scp):
备份:scp 1.tar.gz user1@192.168.1.254:/home/user01 把客户端的1.tar.gz 上传到服务器上user1用户的家目录
在这里插入图片描述
在这里插入图片描述
还原:scp user1@192.168.1.10:/home/user01/1.tar.gz . 把服务器的/home/user01/1.tar.gz 还原到客户端的当前目录
在这里插入图片描述
4.使用ssh计划任务:
修改 vim /etc/crontabs
tar czvf root date +%d.tar.gz /root 加时间进行备份root下所有文件
30 22 * * * root tar czvf /backup/root.tar.gz /root 每晚10点30分打包root下的目录
0 23 * * * root scp /backup/root.tar.gz natasha@192.168.1.10:/tmp 每天晚上的23点把客户端的root.tar.gz 上传到服务器上natash的/tmp目录
在这里插入图片描述
5.使用ssh上传文件(sftp)
sftp natasha@192.168.1.10 进入交互模式
put 1.c 上传1.c到/home/user01

get root.tar.gz 下载root.tar.gz

1.修改ssh端口:
1.修改ssh默认端口,默认是22,进入ssh目录,cd /etc/ssh,修改sshd_config文件,找到protocol一行,# port 22把#号去掉,然后将22修改任意一个端口号。
2.设置SELinux,semanage port -l | grep ssh查看默认22号端口上下文值, semanage port -a -t ssh_port_t -p tcp 刚刚设置的端口号(-a 表示添加,-t表示类型 -p表示协议)
3.在防火墙中开启刚刚设置的端口,firewall-cmd --permanent --add-port=刚刚设置的端口号/tcp,然后重新加载防火墙firewall-cmd --reload
4.重启ssh服务systemctl restart sshd

2.ssh加固
1.指定服务器只能由某个用户登录:vim /etc/sshd_config
将PermitRootLogin no 禁止root用户ssh远程登录
PasswordAuthentication no 禁止用户输入密码(禁止用户口令登录)
systemctl restart sshd 重启ssh服务

四、挂载yum源

1.挂载本地yum源(光盘)
要求:
①目录事先存在
②挂载点目录不可被其他进程使用到
③挂载点下原有文件将被隐藏
实现永久挂载,修改文件:vim /etc/fstab
最后一行加上内容:/dev/cdrom /mnt/cdrom iso9660 defaults 0 0
mount -a 让它生效
解释:硬件是是什么 挂载点是什么 挂载的文件系统 挂载的方式 第一个0指不做大备份 第二个0指开机不自检
2.创建本地yum源
认识yum:
①yum是软件的仓库,可以通过http或ftp共享
②yum可以自动处理依赖性关系,提供查找安装删除命令
3.挂载本地源
①yum的配置文件:/etc/yum.repos.d/*.repo
②创建本地yum文件命令:yum-config-manager --add-repo=file:///mnt/cdrom
解释:add-repo添加一个源后面给路径
③修改yum源文件,禁用gpg校验echo "gpgcheck=0" > /etc/yum.repos.d/mnt_cdrom.repo
③修改本地文件:[mnt_cdrom]名字 name=added from:file///mnt/cdrom名称描述
baseurl=file///mnt/cdrom 仓库路径(这个是本地)enabled=1表示这个源可用
gpgcheck=0 这个源提供的软件包不用通过gpg的校验
yum clean all清除原有的yum源信息 yum list可以查看当前仓库里的软件包
4.实操
mkdir /mnt/cdrom 创建一个挂载点
mount /dev/cdrom /mnt/cdrom 前面跟硬件 后面跟挂载点
在这里插入图片描述
③创建本地yum文件命令:yum-config-manager --add-repo=file:///mnt/cdrom
在这里插入图片描述

④修改yum源文件,禁用gpg校验vim /etc/yum.repos.d/mnt_cdrom.repo添加gpgcheck=0
在这里插入图片描述
⑤刷新 yum clear all
在这里插入图片描述
⑥列出所有软件 yum list
在这里插入图片描述
⑦永久挂载,vim /etc/fstab ,添加/dev/sr0 /mnt/cdrom iso9660 defaults 0 0
在这里插入图片描述

五、架设DHCP服务

1.DHCP的工作过程:
①发现阶段DHCP Discover
②提供阶段DHCP Offer
③选择阶段DHCP Request
④确认阶段DHCP ACK
2.架设DHCP服务
yum -y install DHCP 安装DHCP服务
rpm -qa | grep dhcp 查看是否安装正确
3.配置DHCP服务
①DHCP配置文件路径vim /etc/dhcp/dhcpd.conf默认没有配置信息
/usr/share/doc/dhcp/*/dhcpd.conf.example DHCP模板文件,可复制到dhcp.conf中
在这里插入图片描述
systemctl start dhcpd启动dhcp服务
systemctl enable dhcpd设置开机自启
4.设置防火墙
firewall-cmd --permanent --add-service=dhcp 永久允许dhcp 的流量
firewall-cmd --reload立即生效
5.测试DHCP服务
①关闭VMware的DHCP功能
②配置dhcp会话nmcli connection add con-name dhcp(会话名) ifname ens33 type ethernet ipv4.method auto(自动获取)
③查看会话nmcli connection show
④停掉静态会话nmcli connection down static
⑤用ip addr查看dhcp获取效果


6.实操

在这里插入图片描述
服务端:
①安装dhcp服务yum install dhcp.x86_64 -y

在这里插入图片描述
②修改配置文件vim /etc/dhcp/dhcpd.conf
打开/usr/share/doc/dhcp/*/dhcpd.conf.example DHCP模板文件,复制有用的
在这里插入图片描述
在这里插入图片描述
③检查文件是否有错dhcpd -t
在这里插入图片描述

④开启dhcp服务
systemctl start dhcpd
⑤开启防火墙
firewall-cmd --permanent --add-service=dhcp 永久允许dhcp 的流量
firewall-cmd --reload立即生效


首先要打开虚拟机网络编辑器,改为仅主机模式,并且把自动获取dhcp给关了

在这里插入图片描述

客户端:
①添加一个会话,获取ip地址为自动nmcli con add con-name dhcp ifname eno16777736 type ethernet
在这里插入图片描述

②改为自动获取nmcli con modify dhcp ipv4.method auto
在这里插入图片描述

③启动会话
在这里插入图片描述

④自动获取 dhclient
在这里插入图片描述

六、搭建NTP服务

网络时间服务的配置与应用

1.安装ntp服务yum install ntp.x86_64 -y

在这里插入图片描述2.修改配置文件vim /etc/ntp.conf
在这里插入图片描述
①注释第八行
②注释21-24行
③添加server 127.127.1.1
3.重启ntp服务systemctl restart ntpd
4.添加防火墙
①添加服务firewall-cmd --permanent --add-service=ntp
②重启防火墙firewall-cmd --reload
在这里插入图片描述
5.测试,ntpq -p
在这里插入图片描述


客户端:

和服务端操作一模一样,添加server 127.127.1.1后面跟服务器ip地址,重启然后测试
在这里插入图片描述
在这里插入图片描述

七、搭建NFS服务

1.安装NFS服务
①在centos7下,默认安装NFS服务,只需通过命令查询

rpm -qa | grep rpcbind rpcbind-0.2.0-38.el7.x86_64
rpm -qa | grep nfs-utils nfs-utils-1.3.0-0.33.el7.x86_64

在这里插入图片描述
2.创建共享目录
①创建nfs和nfs1目录,命令:mkdir /nfs /nfs1
在这里插入图片描述
②在/nfs 和 /nfs1两个目录中创建文件
在这里插入图片描述

③修改/common权限,命令:chmod -R 777 /nfs1
在这里插入图片描述
3.配置NFS服务
①配置防火墙

systemctl start rpcbind.service
systemctl enable rpcbind.service
systemctl start nfs.service
systemctl enable nfs.service

在这里插入图片描述
②查看相关进程是否启动

 ps -ef | grep rpcbind     
 ps -ef | grep nfsd

在这里插入图片描述
③查看端口开放情况netstat -lnutp |grep 111
在这里插入图片描述

④修改NFS的主要配置文件 vim /etc/expors
添加参数:
/mnt/nfs *(ro) 该网段内的主机都有读取的权限
/mnt/nfs1 192.168.1.0(rw) 该网段内的主机都有读取的权限
/mnt/nfs2 192.168.1.21/24(rw,all_squash)只有这个ip地址有读写的权限,并且把所有主机设置匿名用户
重新加载并显示共享目录 exportfs -rv
在这里插入图片描述
4.设置防火墙
①添加nfs的相关服务

firewall-cmd --permanent --add-service=nfs
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --reload

5.实现客户端挂载
①在客户端的/mnt创建新目录mkdir /mnt/nfs /mnt/nfs1
②在客户端进行挂载,命令:

mount -t nfs 192.168.1.254:/mnt/nfs /mnt/nfs
mount -t nfs 192.168.1.254:/mnt/nfs1 /mnt/nfs1

在这里插入图片描述
6.实现客户端永久挂载
①查看共享目录,命令:showmount -e 192.168.1.254
在这里插入图片描述
②修改fstab文件vim /etc/fstab
添加内容:192.168.1.254:/mnt/nfs /mnt/nfs nfs defaults 0 0
192.168.1.254:/mnt/nfs1 /mnt/nfs1 nfs defaults 0 0
服务器的共享目录 本地挂载目录 文件系统 挂载方式 不备份 不自检
在这里插入图片描述
④使命令生效,命令:mount -a

7.测试权限
①nfs目录不可写
在这里插入图片描述
②nfs1目录可读可写
在这里插入图片描述

八、搭建smaba服务器

服务端:
1.安装Samba服务
①安装,命令:

yum install -y samba.x86_64
yum install -y samba-client.x86_64

在这里插入图片描述

②启动

systemctl start smb nmb

③设置开机自动运行

systemctl enable samba

在这里插入图片描述

④验证

rpm -qa | grep sanmba    
netstat -tunlp | grep -E 'smbd|nmbd'

在这里插入图片描述
在这里插入图片描述
2.创建共享目录
①创建,命令:

mkdir /share mkdir /common

②设置权限,命令:

chmod 777 /share /common

③验证,命令:

ls -l / | grep share/common

在这里插入图片描述
3.修改配置文件

vim /etc/samba/smb.conf

①修改89行workgroup = MYGROUP改为workgroup = WORKGROUP
在这里插入图片描述
②在末尾添加字段

	   [share]
       comment = Public Stuff
       path = /share
       public = yes
       writable = yes

③保存后重启

systemctl restart smb nmb

在这里插入图片描述
4.设置防火墙

firewall-cmd --permanent --add-service=samba
firewall-cmd --reload

在这里插入图片描述
5.配置SELinux
PS:由于还没有学到SELinux,暂时关闭保护,下一次课会讲到
getenforce 查看当前保护状态 Enforcing 强制保护
setenforce 0 关闭强制保护 Permissive 警告
在这里插入图片描述
6.测试,后面的share是配置文件里面的共享节

smbclient //192.168.1.254/share 

在这里插入图片描述
①在share创建文件,并再次访问,可以看到访问成功
在这里插入图片描述
②测试是否可写,上传桌面anaconda-ks.cfg文件
在这里插入图片描述
③windows访问samba服务
在这里插入图片描述
测试能否ping通服务器
在这里插入图片描述
然后在运行输入\192.168.1.254\share发现需要账户名和密码
此时我们返回服务器,创建samba账户

useradd   samba
smbpasswd -a samba

在这里插入图片描述

再次访问输入samba和123456即可访问成功
在这里插入图片描述
测试是否可写,创建一个1.txt文档
在这里插入图片描述
7.可能出错的地方,检查网卡的dns地址


例:

在这里插入图片描述

九、搭建DNS服务

①DNS是Domain Name System的简称,采用分层结构,包括根域、顶级域、二级域、主机名称
②DNS资源记录类型表

类型作用
A记录一个域名与IP对应关系
NS记录一个区域有哪些DNS服务器负责解析
SOA记录一个区域内多个DNS服务器哪个是主服务器
MX记录邮件投递记录
CNAME记录别名记录
SVR记录说明一个服务器能够提供什么样的服务
RTR记录A记录的逆向记录,把IP地址解析为域名

③DNS查询过程:检查hosts文件是否有映射,否则查找DNS解析器缓存是否有记录,再没有像DNS服务器查询,然后完成解析


要求:

在这里插入图片描述

1.安装dns服务,安装dns服务器需要安装bind、bind-utils这两个包

yum -y install bind bind-utils

在这里插入图片描述
2.修改配置文件
①修改主配置文件,配置文件在/etc/named.conf,修改监听IP为所有,当然也可以指定IP地址,开启allow-query(允许查询)
②修改11和17行 添加any; 注意有分号有空格
在这里插入图片描述
③修改区域文件,配置文件在/etc/named.rfc1912.zones
正向区域:
复制19-23行,然后粘贴到最后
在这里插入图片描述
在这里插入图片描述
反向区域:
复制31-35行,粘贴到最后
在这里插入图片描述
修改:
只宣告网段
④检查语法

named-checkconf /etc/named.conf

在这里插入图片描述
⑤检查语法

named-checkconf /etc/named.rfc1912.zones

在这里插入图片描述
⑥进入/var/named目录,创建正向和反向区域文件
正向区域:
拷贝模板文件,然后修改

cp named.localhost scitc.zx

在这里插入图片描述
反向区域:
拷贝模板文件,然后修改

cp named.localhost scitc.fx

在这里插入图片描述
⑦检查语法

named-checkzone scitc.com.cn scitc.zx
named-checkzone 1.168.192.in-addr.apra scitc.fx 

在这里插入图片描述
⑧防火墙设置

firewall-cmd --permanent --add-service=dns
firewall-cmd --permanent --add-port=53/tcp
firewall-cmd --permanent --add-port=53/udp
firewall-cmd --reload 

在这里插入图片描述
⑨SELinux设置,默认是,所以不用改
在这里插入图片描述
⑩设置所属组为named,设置权限

chgrp named scitc*

在这里插入图片描述
如果不想设置所属组,在拷贝模板文件的时候,跟-a参数即可

⑪重启服务,添加开机自启

systemctl restart named
systemctl enable named

在这里插入图片描述
3.客户端测试
①修改dns地址

nmcli connection modify dhcp ipv4.dns 192.168.1.254

②nslookup测试
在这里插入图片描述
③有可能的错误,dns未修改成功,查看/etc/resolv.conf是否为服务器端ip地址

vim /etc/resolv.conf

十、架设Apache服务

1.安装Apache服务,yum install httpd.x86_64 -y
在这里插入图片描述
2.防火墙放行服务

firewall-cmd --permanent --add-service=http
firewall-cmd --reload

在这里插入图片描述
3.启动Apache服务,添加开机自启动

systemctl start httpd
systemctl enable httpd

在这里插入图片描述
4.客户端访问
在这里插入图片描述
5.服务器端写一个静态网站测试
①进入/var/www/html目录
②写入主页文件
在这里插入图片描述
③重启Apche服务,systemctl restart httpd
在这里插入图片描述
④客户端访问
在这里插入图片描述
6.联合DNS进行解析
①找到正向和反向域有哪些

vim /etc/named.rfc1912.zones

在这里插入图片描述
②客户端测试域名访问
在这里插入图片描述
7.配置虚拟主机访问
①修改正向配置文件

cd /var/named/scitc.zx //增加别名

在这里插入图片描述
②重启服务

systemctl restart named

③客户端测试
在这里插入图片描述
8.修改Apache配置文件
①增加自定义配置文件

cd /etc/httpd/conf.d/
vim www.conf

在这里插入图片描述
③创建/web/www

mkdir -p /web/www

在这里插入图片描述
④创建主页文件

echo test1 > /web/www/index.html

在这里插入图片描述

⑤设置SELinux

semanage fcontext -a -t httpd_sys_content_t "/web(/.*)?"
restorecon -vRF /web

在这里插入图片描述
⑥重启服务

systemctl	restart httpd

⑦客户端测试
在这里插入图片描述
9.在web目录继续创建其他主机,写入主页文件,不用设置SELinux,因为继承父目录
在这里插入图片描述
①拷贝/etc/httpd/conf.d的www.conf文件并修改对应的信息
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
②重启服务,客户端测试
在这里插入图片描述
在这里插入图片描述
10.继续创建端口号主机
①在/web目录创建10086目录,写入文件
在这里插入图片描述
②拷贝/etc/httpd/conf.d的www.conf文件并修改对应的信息
在这里插入图片描述
③设置防火墙

firewall-cmd --permanent --add-port=10086/tcp
firewall-cmd --reload

在这里插入图片描述
④设置SELinux,查看安全上下文并设置

 semanage port -l | grep http

在这里插入图片描述

 semanage port -a -t http_port_t -p tcp 10086

在这里插入图片描述
⑤重启服务并测试
在这里插入图片描述
11.架设虚拟目录
①在/web/www目录创建xuni子目录,在/web/www/xuni写入主页文件
在这里插入图片描述
②在/etc/httpd/conf.d的www.conf文件添加四行
在这里插入图片描述
③重启服务并测试
在这里插入图片描述
12.访问权限设置(ACL)
简单配置实例:
Order Allow,Deny 谁的优先级更高就放在后面,Allow允许,Deny拒绝
Allow form all 允许所有访问
Deny from 192.168.1.0/24 拒绝1.0网段访问

Order Deny,Allow 允许的优先级最高
Deny from all 拒绝所有访问
Allow from abc.com 允许访问abc.com

实例:修改虚拟目录123不能访问
服务端:
修改主配置文件vim /etc/httpd/conf.d/123.conf
重启服务

systemctl restart httpd

添加以下字段
在这里插入图片描述
客户端:
测试访问,提示没有权限,说明ACL已经架设成功
在这里插入图片描述

十一、数据库(MariaDB)基本操作

MariaDB=mysql 操作命令一模一样
常用操作:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.安装MariaDB:

yum install mariadb-server.x86_64 -y

启动

systemctl start mariadb

添加开机启动

systemctl enable mariadb

2.初始化数据库

mysql_secure_installation 

期间设置数据库root密码,其余都选yes
在这里插入图片描述
在这里插入图片描述
3.登陆数据库,有两种登陆方式

mysql -uroot -p123456 //明文登陆
mysql -uroot -p //密文登陆

在这里插入图片描述
4.例:新建一个student数据库,设置为当前库
注意:mysql交互界面每句话结束必须要有分号

creatr database student; //创建数据库
use student; //选择数据库

在这里插入图片描述
5.在student新建一个course表,表包含两个字段id,name,这两个字段均为非空字符串,初始学号20170001,id为主键(primary key)

create  table  course  (id char(8)not null  default  '20170000',primary key(id), name char(8)not null);

6.向student学生库的course表中插入zhang,li两条记录,并对有关记录进行查询、更新和删除操作。

insert  into  student.course (id,name)  values('20170264','zhang');
insert  into  student.course (id,name)  values('20171358', 'li'

7.查看数据

select  *  from  student.course;

十二、管理数据库(MariaDB)

1.创建数据库用户

create user 用户名@来源地址 identified by [password] '密码';

来源地址:localhost 只能本地,%号任何主机地址,192.168.1.%可以从192.168.1.0的任何主机登陆
2.授权给数据库用户
在这里插入图片描述

grant  权限列表  on 数据库名.表名  to 用户名@来源地址;

on 数据库名.表名——要针对哪些表授予权限。可使用通配符“”,例如“.*”表示所有数据库中的所有表。
to 用户名@来源地址——要被授予权限的用户。
3.例: 以root用户连接MariaDB后,添加一个名为user1、密码为abc的MariaDB用户,允许其只能从本地主机(即MariaDB数据库所在的主机)上登录,并授予对数据库student进行查询的权限。然后验证该用户能否进行登录、查询和插入记录的操作。

create  user  user1@localhost  identified by "abc"; //创建用户
grant  select  on  student.*  to  user1@localhost;//授权用户
flush  privileges//刷新权限
exit//退出
mysql  -h  localhost  -u  user1  -p123456	//验证登录操作
use  student;
select  *  from  course;		//验证查询权限
insert  into  course(id,name)  values('20170616', ‘wang');//验证插入权限

4.撤销数据库用户的权限

revoke  权限列表  on  数据库名.表名  from  用户名@域名或IP地址

例: 撤销用户user1从服务器本机访问数据库student的查询权限

revoke  select  on  student.*  from  user1@'localhost';
flush   privileges; //刷新权限使修改后的权限生效
MariaDB [(none)]> show  grants  for  user1@'localhost';	//查看修改后权限

5.备份与恢复
在这里插入图片描述
6.使用mysqldump命令备份(导出)数据

mysqldump  -u 用户名  -p [密码] [选项] [数据库名] [表名] > /备份路径/备份文件名

常用选项有:
–all-databases——备份服务器中的所有数据库内容。
–opt——对备份过程进行优化,此项为默认选项。
–no-data——仅备份数据库结构,不备份数据内容(记录)。
例: 备份指定的student数据库,备份student数据库中的course表,备份服务器中的所有数据库内容。

mysqldump  -u  root  -p123456  --opt  student > back_student.dump
mysqldump  -u  root  -p123456  student  course > back_course.dump
mysqldump  -u  root  -p123456  --all-databases > back_all.dump
ll  back*

7.使用mysql命令恢复(导入)数据

mysql  -u  root  -p  [数据库名] < /备份路径/备份文件名

例: 恢复整个student数据库;恢复student数据库中的course表;恢复服务器中的所有数据库内容。
mysql -u root -p123456 student < back_student.dump
mysql -u root -p123456 student < back_course.dump
mysql -u root -p123456 < back_all.dump

例:在这里插入图片描述
1.创建数据库,及数据表

create database  newstaff;
use newstaff;
create table stafftable (staffid int not null,primary key(staffid),username varchar(20),sex char(6),age int);
discribe stafftable;

在这里插入图片描述
2.插入数据

insert into newstaff.stafftable(staffid,username,sex,age) values('1','Janes','Male','33');
insert into newstaff.stafftable(staffid,username,sex,age) values('2','Selire','Female','32');
select * from newstaff.stafftable;

在这里插入图片描述
3.创建账户并设置权限

create user jw@localhost identified by '123456';
grant select,insert on newstaff.* to jw@localhost;

在这里插入图片描述
4.计划任务,新建一个脚本名字随便取

#! /bin/sh
time = `date+"("$F")"%R`
$/usr/local/mysql/bin/mysqldump -uroot -p123456 newstaff | gzip > /root/staffbackup-$time.gz crontab -e
00 00 * * * /root/backup.sh

用命令操作:
vim /etc/crontab

0 0 * * * root mysqldump -uroot -p123456 newstaff > /root/newback`date+%d`.dump

在这里插入图片描述
8.对数据库服务器进行必要的网络安全方面的设置,只允许从公司内部网络(192.168.1.0/24)访问数据库服务器;

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="4406" accept"
firewall-cmd --reload

9.从安全的角度对数据库服务器的配置文件进行必要的安全设置,修改数据库端口为“4406”,并设置日志文件为/var/log/mariadb/access.log;

vim /etc/my.conf
port 4406
log=/var/log/mariadb/access.log

在这里插入图片描述

十三、架设ftp服务器

1.linux自带的是vsftpd
2.服务器安装vsftpd,开启服务,开机自启

yum -y install vsftpd
systemctl start vsftpd
systemctl enable vsftpd

在这里插入图片描述
在这里插入图片描述
3.设置防火墙

firewall-cmd --permanent --add-service=ftp 
firewall-cmd --reload

在这里插入图片描述


简单测试访问 1.在服务器vsftp访问目录新建文件
cd /var/ftp
touch file{1..5}
ls

在这里插入图片描述
2…客户端测试,安装ftp客户端
在这里插入图片描述
3.输入ftp,然后输入open 192.168.1.254然后输入账户名,没有密码直接回车,然后查看文件
在这里插入图片描述


对ftp服务器进行安全加固
1.vsftpd的配置文件及目录
在这里插入图片描述
2. 主配置文件vsftpd.conf常用配置项及功能说明
在这里插入图片描述
在这里插入图片描述


实操: 搭建一台功能简单的FTP服务器,允许所有师生员工使用匿名用户下载文件 1.创建一个供下载资源的目录/ftp/share,并在其中添加测试文件
mkdir -p /ftp/share
echo my test file > /ftp/share/test.txt

2.设置SElinux,修改/ftp/share的安全上下文

ll -Zd /ftp/share //查看
chcon -R -t pubilc_content_t /ftp/share

3.编辑配置文件vsftpd.conf,允许匿名用户访问

vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES  //允许匿名访问
anon_root=/fttp/share //添加匿名用户登录后的根目录

4.防火墙放行服务

firewall-cmd --perment --add-service=ftp
firewall-cmd --reload

5.重启服务

systemctl restart vsftpd

在这里插入图片描述
1.建立用于维护网站的禁止登录且家目录为/var/www/web1的用户user1

mkdir -p /var/www/web1        //创建主页文件
echo "index" > /var/www/web1/index.html    //写入内容到主页文件
chmod -R 757 /var/www/web1     //设置权限
useradd user1 -s /sbin/nologin //禁止登录

2.编辑主配置文件

vim /etc/vsftpd/vsftpd.conf

local_ enable=YES //16行:允许本地用户登录 local_root=/var/www/web1 //添加至17行:设置本地用户登录后的根目录
allow_ writeable chroot=YES
write_enable=YES //19行:允许写入
local_ umask=022 //23行:设定新上传文件(夹)的权限掩码
connect_from_ port 20=YES //添加至43
chroot
local_ user=YES//100行:是否将所有用户限制在登录根目录内
chroot
list_ enable=NO//101行:开启锁定用户的chroot功能 #chroot ist file=/etc/vsttpd/chroot_ list //103行:设 置锁定用户的列表文件
在这里插入图片描述

3.建立/etc/vsfttpd/chroot_list文件,将被锁定的用户user01加入其中

vim /etc/vsftpd/chroot_list

4.开启防火墙

firewall-cmd --zone=public --permanent --add-service=ftp
firewall-cmd --reload

5.修改SELinux,允许本地用户登录

getsebool -a | grep ftp //查看与ftp有关的所有SELinux的布尔值
setsebool -P ftpd_full_access on //开放ftp访问(-P写入磁盘,永久生效)

6.重启服务

systemctl restart vsftpd

十四、搭建LMAP服务器

1.什么是LMAP
LMAP是Linux、Mysql、Apache、PHP的缩写
2.安装php,命令:

yum install php php-mysql -y

在这里插入图片描述
3.新建虚拟主机,直接在复制原来的123.conf然后更名为php.conf修改下,添加DirectoryIndex字段,这里路径不一样,去/var/www/新建一个php就行了

cd /etc/httpd/conf.d/
cp 123.conf php.conf
vim php.conf

4.创建文件并测试

cd /var/www/
mkdir php
cd php
vim index.php

添加以下代码


<?php
$link=mysql_connect("localhost","root","123456");# 这里是数据库的密码,因人而异,如果是本教程可以不用改
if( $link )
echo "success";
else
echo "faile";
mysql_close();
?>

5.重启apache服务,测试

systemctl restart httpd

6.测试,浏览器、命令行均可

curl www.123.com

在这里插入图片描述


部署一个动态网站

1.写入配置文件

Vim /etc/httpd/conf.d/virtual.conf

在这里插入图片描述
2.重启Apache,安装论坛
在这里插入图片描述
在这里插入图片描述
注意:需数据库密码正确才能安装
3.测试
在这里插入图片描述

十五、云waf部署

1.下载服务器安全狗linux版本

wget http://download.safedog.cn/safedog_linux64.tar.gz

2.解压并安装(需关闭SELinux)

tar xzvf safedog_linux64.tar.gz
cd safedog_an_linux64_2.8.21207/
chmod +x *.py
./install.py

3.启动服务
在这里插入图片描述
4.输入云服务帐号密码
在这里插入图片描述
5.登录http://fuyun.safedog.cn 进行管理
在这里插入图片描述

十六、ISCSI

1.安装服务

yum -y install targetd targetcli

2.启动服务端程序,加入开机自启
在这里插入图片描述
3.配置ISCSI服务端共享资源,将/dev/sdc加入到配置共享设备的“资源池”中,并将该文件重新命名为disk0
在这里插入图片描述4.创建ISCSI target名称及配置共享资源
在这里插入图片描述5.设置访问控制列表
在这里插入图片描述
6.设置ISCSI服务端的监听IP地址和端口号
在这里插入图片描述
7.重启服务,配置防火墙
在这里插入图片描述

十七、LVM磁盘整理

1.添加磁盘
在这里插入图片描述2. 让新添加的两块硬盘设备支持LVM技术

pvcreate /dev/sdb

3.将硬盘设备加入到storage卷组中,然后查看卷组的状态

vgcreate storage /dev/sdb
  1. 切割出一个2G的逻辑卷设备
lvcreate -n vo -L 2G storage

5.把生成好的逻辑卷进行格式化,然后挂载使用

mkfs.ext4 /dev/storage/vo
mkdir /srv/www
mount /dev/storage/vo /srv/www/
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值