本文共 7687 字,大约阅读时间需要 25 分钟。
环境准备:还原 Cla***oom(DNS_Server)、Server、Desktop
设置server与desktop防火墙默认区域为trusted
Server:IP 172.25.0.10Desktop:IP 172.25.0.11DNS_Server: server0.example.com 172.25.0.10 desktop0.example.com 172.25.0.11
# firewall-cmd --set-default-zone=trusted
#####################################################################################
搭建基本邮件服务器电子邮件通信
• 电子邮件服务器的基本功能– 为用户提供电子邮箱存储空间(用户名@邮件域名)– 处理用户发出的邮件 —— 传递给收件服务器– 处理用户收到的邮件 —— 投递到邮箱用户发邮件的协议 :SMTP 端口号 25
用户收邮件的协议 :pop3 端口号 110 IMAP 端口号 143电子邮箱地址:zhsan@sina.com、lisi@sina.com
快速部署postfix邮件服务器
• 装包、配置、起服务server0:搭建邮件服务(server0.example.com)
1.设置永久的主机名(server0.example.com)/etc/hostname# echo server0.example.com >/etc/hostname #修改主机名
2.安装postfix软件包(服务端)
# rpm -q postfix #查看是否有安装postfix
3.修改配置文件/etc/postfix/main.cf
# vim /etc/postfix/main.cf 76行 myhostname = server0.example.com #指定主机名(DNS中注册过) 83行 mydomain = example.com #指定域名 99行 myorigin = server0.example.com #默认补全的发件人域名后缀 116行 inet_interfaces = all #设置监听的网络接口(改localhost为all,允许所有使用) 164行 mydestination = server0.example.com #收件人的域名后缀,判断为本域邮件
4.重启postfix服务,设置为开机自启
# systemctl restart postfix# systemctl enable postfix
5、创建用户,zhang3,lisi
# useradd zhang3# useradd lisi# echo 123 | passwd --stdin zhang3# echo 123 | passwd --stdin lisi
6、测试收发邮件
# mail -s 'Title test' zhang3 lisi@server0.example.com //发邮件# mail -u lisi //收邮件
desktop0:搭建邮件服务(desktop0.example.com)
1.设置永久的主机名(desktop0.example.com)/etc/hostname# echo desktop0.example.com >/etc/hostname2.安装postfix软件包# rpm -q postfix #查看是否有安装postfix3.修改配置文件/etc/postfix/main.cf 76行 myhostname = desktop0.example.com #指定主机名(DNS中注册过) 83行 mydomain = example.com #指定域名 99行 myorigin = desktop0.example.com #默认补全的发件人域名 116行 inet_interfaces = all #设置监听的网络接口 164行 mydestination = desktop0.example.com #收件人的域名后缀,判断为本域邮件4.重起postfix服务# systemctl restart postfix# systemctl enable postfixserver0:创建yg用户,设置密码123# useradd yg# echo 123 | passwd --stdin ygdesktop0:创建xln用户,设置密码123# useradd xln# echo 123 | passwd --stdin xlnserver0: mail -s 'test01' -r yg xln@desktop0.example.com //邮件主题test01,发件人yg,收件人xlndesktop0:mail -u xln
#####################################################################################
使用mail命令发信/收信• mail 发信操作– mail -s '邮件标题' 收件人 [@收件域]...• mail 收信操作
– mail [-u 用户名]#####################################################################################
nullclient邮件服务• nullclient,空客户端
– 不提供任何邮箱账号,因此不需要投递邮件– 但是可以为用户代发邮件环境准备:还原server、desktop
设置server与desktop防火墙默认区域为trusted
# firewall-cmd --set-default-zone=trusted
#####################################################################################
后端常规邮件服务器(Desktop0)
空客户端邮件服务器(Server0)一、配置常规邮件服务器( Desktop0)
1.设置永久的主机名(desktop0.example.com)/etc/hostname# echo desktop0.example.com >/etc/hostname2. 修改/etc/postfix/main.cf 99 myorigin = desktop0.example.com #发件来源域 116 inet_interfaces = all #所有网络 164 mydestination = desktop0.example.com #将投递域设为desktop0.example.com 3.重起postfix服务# systemctl restart postfix# systemctl enable postfix
二、nullclient,空客户端邮件服务器(Server0)
1.设置永久的主机名(server0.example.com)/etc/hostname# echo server0.example.com >/etc/hostname2. 修改/etc/postfix/main.cf 99 myorigin = desktop0.example.com #发件来源域 116 inet_interfaces = loopback-only #仅本机(或localhost) 164 mydestination = #将投递域设为空 264 mynetworks = [::1]/128,127.0.0.0/8,172.25.0.0/24 #信任网络 316 relayhost = [desktop0.example.com] #目标邮件服务器(desktop0.example.com=172.25.0.10)3.重起postfix服务# systemctl restart postfix# systemctl enable postfix
三、测试:
在server上发一封邮件给student,最后desktop0上student收到在server上和desktop0上分别创建student,# useradd student # echo 123 | passwd --stdin student # echo this is a test. | mail -s 'test01' -r root student //在Server0上发送测试邮件 # mail -u student // 在Server0上查看,没有邮件 # mail -u student // 在Desktop0上查看,有测试邮件
#####################################################################################
数据库服务基础MariaDB 数据库的管理员 root ,不同系统的管理员
部署mariadb数据库服务器
• RHEL7 中的 MariaDB 相关包– mariadb-server:提供服务端有关的系统程序– mariadb:提供客户端及管理工具– mariadb数据库服务端口:3306[root@server0 ~]# yum -y install mariadb-server #mariadb数据库[root@server0 ~]# systemctl restart mariadb #启动MariaDB服务[root@server0 ~]# mysql #打开(进入)MariaDB(默认无密码)MariaDB [(none)]> show databases; #查看所有的库MariaDB [(none)]> create database nsd1705; #创建库nsd1705MariaDB [(none)]> show databases;MariaDB [(none)]> drop database nsd1705; #删除nsd1705库MariaDB [(none)]> show databases;MariaDB [(none)]> exit /quit #退出数据库服务
#####################################################################################
mariadb服务端配置调整
• 禁止监听,只服务于本机[root@server0 ~]# vim /etc/my.cnf[mysqld]skip-networking //跳过网络监听(只服务于本机).. ..[root@server0 ~]# systemctl restart mariadb
• 为数据库账号修改密码
– mysqladmin [-u用户名] [-p[旧密码]] password '新密码'[root@server0 ~]# mysqladmin -u root password '123' #配置密码为123[root@server0 ~]# mysql -u root -p123 #进入MariaDB数据库
#####################################################################################
– 使用/选择数据库: use 数据库名;– 列出库里有哪些表: show tables;[root@server0 ~]# mysql -u root -p123MariaDB [mysql]> show databases;MariaDB [mysql]> use mysql; #选择数据库 MariaDB [mysql]> show tables;MariaDB [mysql]> desc user; #显示表的结构//显示user表中user,host,password内容MariaDB [mysql]> select user,host,password from user;//显示user表中user,password内容MariaDB [none]> select user,password from mysql.user;MariaDB [mysql]> select user,password from user;
#####################################################################################
导入/恢复到数据库– mysql [-u用户名] [-p[密码]] 数据库名 >/< 备份文件.sql重定向输入: <
[root@server0 ~]# mysql -u root -p123MariaDB [(none)]> create database nsd;MariaDB [(none)]> show databases;MariaDB [(none)]> exit# wget http://172.25.254.254/pub/materials/users.sql# mysql -u root -p123 nsd < users.sql #导入数据到nsd库中[root@server0 ~]# mysql -u root -p123MariaDB [nsd]> use nsd;MariaDB [nsd]> show tables;MariaDB [nsd]> select * from location;MariaDB [nsd]> select * from base;
#####################################################################################
数据库的授权:– GRANT 权限列表 ON 数据库名.表名 TO 用户名@客户机地址 IDENTIFIED BY '密码'; 权限列表:select、insert、updat、delete、all– 除了 root 用户,此数据库nsd只能被用户 lisi 查询,此用户的密码为123
[root@server0 ~]# mysql -u root -p123 MariaDB [nsd]> grant select on nsd.* to lisi@localhost identified by '123'; MariaDB [nsd]> select user,password from mysql.user; //查看lisi用户是否存在
当lisi利用密码123进行本地登陆数据库时,将会获得nsd库中所有表的查询权限
[root@server0 ~]# mysql -u lisi -p123 //验证是否能够登陆
#####################################################################################
案例5:使用数据库查询1. 禁止空密码root用户访问 mariadb 数据库MariaDB [mysql]> use mysql;MariaDB [mysql]> select user,host,password from user; MariaDB [mysql]> select user,host,password from user where user='root' and password='';MariaDB [mysql]> delete from user where user='root' and password='';2. 在系统 server0 上使用数据库 nsd,并使用相应的 SQL 查询以回答下列问题:1)密码是 solicitous 的人的名字?MariaDB [nsd]> use nsd;MariaDB [nsd]> select * from nsd.base where password='solicitous';MariaDB [nsd]> select name from base where password='solicitous';MariaDB [nsd]> select name,password from base where password='solicitous';2)有多少人的姓名是 Barbara 同时居住在 Sunnyvale?MariaDB [nsd]>use nsd;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;
转载于:https://blog.51cto.com/1171770621/2396645