環境準備:還原 Cla***oom(DNS_Server)、Server、Desktopmysql
設置server與desktop防火牆默認區域爲trustedsql
Server:IP 172.25.0.10 Desktop:IP 172.25.0.11 DNS_Server: server0.example.com 172.25.0.10 desktop0.example.com 172.25.0.11
# firewall-cmd --set-default-zone=trusted
數據庫
#####################################################################################
搭建基本郵件服務器vim
電子郵件通訊
• 電子郵件服務器的基本功能
– 爲用戶提供電子郵箱存儲空間(用戶名@郵件域名)
– 處理用戶發出的郵件 —— 傳遞給收件服務器
– 處理用戶收到的郵件 —— 投遞到郵箱後端
用戶發郵件的協議 :SMTP 端口號 25
用戶收郵件的協議 :pop3 端口號 110 IMAP 端口號 143服務器
電子郵箱地址:zhsan@sina.com、lisi@sina.com網絡
快速部署postfix郵件服務器
• 裝包、配置、起服務dom
server0:搭建郵件服務(server0.example.com)
1.設置永久的主機名(server0.example.com)/etc/hostname# echo server0.example.com >/etc/hostname #修改主機名
ide
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
五、建立用戶,zhang3,lisi
# useradd zhang3 # useradd lisi # echo 123 | passwd --stdin zhang3 # echo 123 | passwd --stdin lisi
六、測試收發郵件
# 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/hostname 2.安裝postfix軟件包 # rpm -q postfix #查看是否有安裝postfix 3.修改配置文件/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 postfix server0:建立yg用戶,設置密碼123 # useradd yg # echo 123 | passwd --stdin yg desktop0:建立xln用戶,設置密碼123 # useradd xln # echo 123 | passwd --stdin xln server0: mail -s 'test01' -r yg xln@desktop0.example.com //郵件主題test01,發件人yg,收件人xln desktop0: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)
1、配置常規郵件服務器( Desktop0)
1.設置永久的主機名(desktop0.example.com)/etc/hostname # echo desktop0.example.com >/etc/hostname 2. 修改/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
2、nullclient,空客戶端郵件服務器(Server0)
1.設置永久的主機名(server0.example.com)/etc/hostname # echo server0.example.com >/etc/hostname 2. 修改/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
3、測試:
在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; #建立庫nsd1705 MariaDB [(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 -p123 MariaDB [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 -p123 MariaDB [(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 -p123 MariaDB [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;