首页 > 代码库 > 二级知识1
二级知识1
ELinux安全机制
SELinux运行模式的切换
? SELinux的运行模式
– enforcing(强制)、permissive(宽松)
– disabled(彻底禁用)
? 切换运行模式
– 临时切换:setenforce 1|0
– 固定配置:/etc/selinux/config 文件
[root@server0 ~]# getenforce #查看当前SELinux的状态
Enforcing
[root@server0 ~]#
[root@server0 ~]# setenforce 0 #当前关闭SELinux的状态
[root@server0 ~]# getenforce
Permissive
永久修改SELinux运行模式,当前不生效
[root@server0 ~]# grep ‘^SELINUX=‘ /etc/selinux/config
SELINUX=permissive
#####################################################
配置高级连接,聚合连接
链路聚合的优势
? team,聚合连接(也称为链路聚合)
– 由多块网卡(team-slave)一起组建而成的虚拟网卡,
即“组队”
– 作用1 : 轮询式(roundrobin)的流量负载均衡
– 作用2 : 热备份(activebackup)连接冗余
[root@server0 ~]# man teamd.conf #查看team帮助信息
/example 全文查找example
按键盘上 ‘n‘ 可以跳转匹配
按 ‘q‘退出
[root@server0 ~]# nmcli connection add type team con-name team0 ifname team0 autoconnect yes config ‘{"runner": {"name": "activebackup"}}‘
nmcli connection 添加 类型 为组队
配置文件后缀名 team0 接口名字 team0 每次开机自动连接
组队的内部分配方式 为热备份
#生成的配置文件
vim /etc/sysconfig/network-scripts/ifcfg-team0
删除
# nmcli connection delete team0
# nmcli connection delete team0-1
# nmcli connection delete team0-2
# 在新建一遍team0
第二种方法修改方式
# nmcli connection modify team0
team.config ‘{"runner": {"name": "activebackup"}}‘
######################################################
添加成员网卡
# nmcli connection add type team-slave con-name team0-1 ifname eth1 master team0
# nmcli connection add type team-slave con-name team0-2 ifname eth2 master team0
nmcli connection 添加 类型为 组队的后端成员 配置文件名后缀 team0-1 添加网络接口 eth1 添加到team0组队中
#####################################################
配置IP及激活
[root@server0 ~]# nmcli connection modify team0 ipv4.method manual ipv4.addresses 172.16.3.20/24 connection.autoconnect yes
[root@server0 ~]# nmcli connection up team0
[root@server0 ~]# nmcli connection up team0-1
[root@server0 ~]# nmcli connection up team0-2
[root@server0 ~]# ifconfig
[root@server0 ~]# teamdctl team0 state #查看team0运行状态
[root@server0 ~]# ifconfig eth1 down
[root@server0 ~]# teamdctl team0 state
#######################################################
nmcli connection add type team
con-name team0 ifname team0 autoconnect yes
config ‘{"runner": {"name": "activebackup"}}‘
nmcli connection add type team-slave con-name team0-1
ifname eth1 master team0
nmcli connection add type team-slave con-name team0-2
ifname eth2 master team0
nmcli connection modify team0 ipv4.method manual ipv4.addresses 172.16.3.25/24 connection.autoconnect yes
nmcli connection up team0
nmcli connection up team0-1
nmcli connection up team0-2
teamdctl team0 state
#######################################################
配置永久别名
全局环境配置
? 影响所有用户的 bash 解释环境
– /etc/bashrc,每次开启 bash 终端时生效
针对单个用户配置
– ~/.bashrc ,每次开启 bash 终端时生效
###################################################
[root@server0 ~]# vim /etc/bashrc
alias haha=‘echo hello!‘
alias myls=‘ls -lhd‘
[root@server0 ~]# su - student
[student@server0 ~]$ haha
[student@server0 ~]$ exit
[root@server0 ~]# useradd tom
[root@server0 ~]# su - tom
[tom@server0 ~]$ haha
[tom@server0 ~]$ exit
#####################################################
配置IPv6地址
[root@server0 ~]# nmcli connection modify ‘System eth0‘ ipv6.method manual ipv6.addresses 2003:ac18::305/64 connection.autoconnect yes
[root@server0 ~]# nmcli connection up ‘System eth0‘
[root@server0 ~]# ping6 2003:ac18::305
###################################################
防火墙应用
起到隔离作用,保护局域网或主机系统
####################################################
搭建基本Web服务
服务端:server
1.安装 httpd 可以提供页面
[root@server0 ~]# yum -y install httpd
2.重起服务
[root@server0 ~]# systemctl restart httpd
[root@server0 ~]# systemctl status httpd
3.本机测试
[root@room9pc14 桌面]# ssh -X root@172.25.0.11
把真机的firefox浏览器全部关闭
[root@server0 ~]# firefox http://172.25.0.11
网页文件默认存放路径:
[root@localhost ~]# ls /var/www/html/
默认网页文件的命名: index.html
[root@server0 ~]# vim /var/www/html/index.html
<h1><marquee><font color=red>NSD1703
[root@server0 ~]# firefox http://172.25.0.11
##################################################
FTP:文件传输协议
服务端:server
1.安装 vsftpd 可以提供文件传输
[root@server0 ~]# yum -y install vsftpd
2.重起服务
[root@server0 ~]# systemctl restart vsftpd
[root@server0 ~]# systemctl status vsftpd
3.本机测试
[root@server0 ~]# firefox ftp://172.25.0.11
默认共享路径:
[root@server0 ~]# ls /var/ftp
#####################################################
命令行的访问Web
[root@server0 ~]# elinks -dump http://172.25.0.11
NSD1703
命令行的访问FTP
[root@server0 ~]# ftp 172.25.0.11
Connected to 172.25.0.11 (172.25.0.11).
220 (vsFTPd 3.0.2)
Name (172.25.0.11:root): ftp
230 Login successful.
ftp>bye
#######################################################
RHEL7的防火墙体系
? 系统服务:firewalld
? 管理工具:firewall-cmd、firewall-config
[root@server0 ~]# systemctl status firewalld
– public:仅允许访问本机的sshd等少数几个服务
– trusted:允许任何访问
– block:阻塞任何来访请求
– drop:丢弃任何来访的数据包
##################################################
1.server0操作查看 当前默认的区域
[root@server0 ~]# firewall-cmd --list-all
2.desktop0 操作
[root@desktop0 ~]# ping -c 2 172.25.0.11
################################################
1.server0操作修改 当前默认的区域
[root@server0 ~]# firewall-cmd --set-default-zone=block
[root@server0 ~]# firewall-cmd --list-all
2.desktop0 操作
[root@desktop0 ~]# ping -c 2 172.25.0.11
#################################################
1.server0操作查看 修改默认的区域
[root@server0 ~]# firewall-cmd --set-default-zone=drop
2.desktop0 操作
[root@desktop0 ~]# ping -c 2 172.25.0.11
######################################################
客户端匹配规则:
1.客户端的源IP地址,在public有策略限制, 进入public
2.客户端从哪一个网络接口进来
1.server0操作查看
[root@server0 ~]# firewall-cmd --list-all
[root@server0 ~]# firewall-cmd --set-default-zone=public
[root@server0 ~]# firewall-cmd --list-all
2.desktop0 操作
[root@desktop0 ~]# ping -c 2 172.25.0.11
[root@desktop0 ~]# ftp 172.25.0.11
[root@desktop0 ~]# elinks -dump http://172.25.0.11
3.server0操作
[root@server0 ~]# firewall-cmd --add-service=http
[root@server0 ~]# firewall-cmd --add-service=ftp
4.desktop0 操作
[root@desktop0 ~]# ftp 172.25.0.11
[root@desktop0 ~]# elinks -dump http://172.25.0.11
– 永久(--permanent)
# firewall-cmd --permanent --add-service=http
# firewall-cmd --permanent --add-service=ftp
# firewall-cmd --reload #重新加载配置
######################################################
防火墙端口转发
server0操作
[root@server0 ~]# firewall-cmd --list-all
[root@server0 ~]# firewall-cmd --permanent --add-forward-port=port=5423:proto=tcp:toport=80
[root@server0 ~]# firewall-cmd --reload
[root@server0 ~]# firewall-cmd --list-all
desktop操作
[root@desktop0 ~]# elinks -dump http://172.25.0.11:5423
#####################################################
图形:firewall-config 先选择永久------>区域public----->端口转发
.......
[root@server0 ~]# firewall-cmd --reload
#####################################################
修改默认的区域zone,不需要 --permanent
[root@server0 ~]# firewall-cmd --set-default-zone=trusted
典型的应用方式:
严格,方式1:将默认区域保持为block,针对需要放行的访问在trusted区域添加策略
宽松,方式2:将默认区域保持为trusted,针对需要阻止的访问在block区域添加策略
####################################################
hostnamectl set-hostname server0.example.com 配置主机名
{ "runner":{ "name":"activebackup" } }
{ "runner":{ "name":"roundrobin" } }
搭建基本邮件服务
1.在server0上操作
[root@server0 ~]# rpm -q postfix
postfix-2.10.1-6.el7.x86_64
[root@server0 ~]# systemctl status postfix.service
2.在server0上操作,创建邮件用户
[root@server0 ~]# useradd zhangsan
[root@server0 ~]# useradd lisi
[root@server0 ~]# passwd zhangsan
更改用户 zhangsan 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@server0 ~]# echo 123 | passwd --stdin lisi
3.修改配置文件,/etc/postfix/main.cf
99 myorigin = example.com #发件人默认补全的域名后缀
116 inet_interfaces = all #允许所有网络接口
164 mydestination = example.com
#收件人的域名后缀,判断为本域邮件
[root@server0 ~]# systemctl restart postfix
4.用zhangsan发邮件,lisi收邮件
# mail -s ‘哈01‘ -r zhangsan@example.com lisi@example.com
邮件内容
. #代表结束
# mail -u lisi #收邮件
>N 1 zhangsan@example.com Fri Apr 28 10:35 22/689
& 1
######################################################
邮件发送的方式:
非交互是发邮件
1.利用管道
# echo 123 | mail -s ‘t3‘ -r zhangsan lisi
2.利用 < 可以 将文本文件的内容,当作命令的输入
# echo hahaxixi > /opt/mail.txt
# cat /opt/mail.txt
# mail -s ‘test02‘ -r zhangsan lisi < /opt/mail.txt
######################################################
vim 末行模式开启行号 :set nu
1.在server0上操作,vim /etc/postfix/main.cf
99 myorigin = desktop0.example.com #发邮件的来源
116 inet_interfaces = loopback-only
164 mydestination =
264 mynetworks = [::1]/128, 127.0.0.0/8 #信任的网络
317 relayhost = [smtp0.example.com] #指定真正的邮件服务器
[root@server0 ~]# systemctl restart postfix.service
2.在desktop0上操作
[root@desktop0 ~]# firewall-cmd --set-default-zone=trusted
[root@desktop0 ~]# lab smtp-nullclient setup
#搭建邮件服务器脚本命令
3.在server0上操作,
echo 123 | mail -s ‘abc01‘ -r lisi student
4.在desktop0上操作
mail -u student
######################################################
MariaDB数据库基本管理
? RHEL7 中的 MariaDB 相关包
– mariadb-server:提供服务端有关的系统程序
– mariadb:提供客户端及管理工具
MariaDB数据库: 端口号 3306
1.安装数据库的软件
[root@server0 ~]# yum -y install mariadb mariadb-server
[root@server0 ~]# rpm -q mariadb
[root@server0 ~]# rpm -q mariadb-server
2.重起mariadb
[root@server0 ~]# systemctl restart mariadb
#####################################################
默认数据库安装其服务, 无密码可以登陆
[root@server0 ~]# mysql #进入数据库
MariaDB [(none)]> show databases; #查看所有数据库
MariaDB [(none)]> create database studb; #创建数据库
MariaDB [(none)]> show databases;
MariaDB [(none)]> drop database studb; #删除数据库
MariaDB [(none)]> show databases;
MariaDB [(none)]> use mysql; #进入mysql数据库中
MariaDB [(none)]> show tables; #查看所有的表格
MariaDB [mysql]> desc user; #查看表结构,具体都有那些列
MariaDB [mysql]> select User,Host,Password from user;
#查询user表中User,Host,Password三列的内容
####################################################
为数据库管理员设置密码
数据库管理员:root 与 Linux系统管理员root不是同一个人
[root@server0 ~]# mysqladmin -u root password ‘123‘
[root@server0 ~]# mysql -u root
ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: NO)
[root@server0 ~]# mysql -u root -p #交互式登陆
Enter password:
[root@server0 ~]# mysql -u root -p123 #非交式是登陆
#选项-p与密码之间没有空格
####################################################
mariadb服务端配置调整
? 禁止监听,只服务于本机
[root@server0 ~]# vim /etc/my.cnf #修改mariadb配置文件
[mysqld]
skip-networking #跳过网络监听
.. ..
[root@server0 ~]# systemctl restart mariadb
? 导入/恢复到数据库
– mysql [-u用户名] [-p[密码]] 数据库名 < 备份文
件.sql
# wget http://classroom.example.com/pub/materials/users.sql
# ls
# mysql -u root -p123
MariaDB [(none)]> create database nsd;
MariaDB [(none)]> quit
# mysql -u root -p123 nsd < users.sql #导入数据到nsd数据库
# mysql -u root -p123
MariaDB [(none)]> use nsd;
MariaDB [(none)]> show tables;
MariaDB [(none)]> select * from base; #查询表中所有内容
MariaDB [(none)]> select * from location; #查询表中所有内容
###################################################
1 请查询base表中tom的密码
MariaDB [nsd]> use nsd;
MariaDB [nsd]> select name,password from base where name=‘tom‘;
2 密码是 solicitous 的人的名字?
MariaDB [nsd]> select name,password from base where password=‘solicitous‘;
3 有多少人的姓名是 Barbara 同时居住在 Sunnyvale?
MariaDB [nsd]> select * from base,location where base.name=‘Barbara‘ and location.city=‘Sunnyvale‘ and base.id=location.id;
MariaDB [nsd]> select count(*) from base,location where base.name=‘Barbara‘ and location.city=‘Sunnyvale‘ and base.id=location.id;
#######################################################
MariaDB用户授权
? MariaDB [(none)]>
– GRANT 权限列表 ON 数据库名.表名 TO 用户名@
客户机地址 IDENTIFIED BY ‘密码‘;
# mysql -u root -p123
grant select on nsd.* to stu@localhost
identified by ‘123‘;
当stu用户从本地登陆mariadb输入密码123,将会获得nsd数据库中所有表的查询权限
验证: # mysql -u stu -p123 #可以登陆数据库即可
######################################################
删除表记录
1. 禁止空密码root用户访问 mariadb 数据库
MariaDB [mysql]> use mysql;
MariaDB [mysql]> select User,Host,Password from user where User=‘root‘ and Password=‘‘;
MariaDB [mysql]> delete from user where User=‘root‘ and Password=‘‘;
MariaDB [mysql]> select User,Host,Password from user where User=‘root‘ and Password=‘‘;
######################################################
数据库表及相关软件的基本知识:
数据(记录):用来表示一个事物(实体)的一些信息(属性)的文字/图片文件等,例如字符串“:tedu.cn”
数据表:存放很多条数据记录的容器,例如学员联系信息表、学员月考成绩表
数据表的每一行:存放一条记录
数据表的每一列/字段:很多个事物的同一个属性
数据库:存放很多个相互关联的表格的容器,例如NSD1609学员档案库
数据库管理系统(DBMS):用来管理(创建库/添加/查询/删除/授权等)数据库信息的软件平台
postfix空客户端邮件服务器的功能:
不为用户提供电子邮箱
为邮箱用户向其他邮件服务器发送邮件
不接受(投递/存储)发送给给本服务器的邮件
空客户端邮件服务器的工作环境:
客户端 ---> 空客户端邮件服务器(发)---> 普通邮件服务器(发/收)
电子邮箱:1234567@qq.com表示在互联网区域qq.com内的一台邮件服务器上属于用户1234567的一个电子邮箱(目录)。
postfix发信服务(TCP 25,SMTP)的功能:
为用户提供电子邮箱
为邮箱用户向其他邮件服务器发送邮件
为邮箱用户投递/存储收到的邮件
dovecot取信服务(TCP 110/143,POP3/IMAP)的功能:为邮箱用户提取邮件。
二级知识1