zoukankan      html  css  js  c++  java
  • 配置邮件服务器 、 数据库服务基础 、 管理表数据

    ——配置邮件服务器 、 数据库服务基础 、 管理表数据——

    【配置邮件服务器】

    『基础邮件服务』
    电子邮件通信
    为用户提供电子邮箱存储空间(用户名@邮件域名)
    处理用户发出的邮件 —— 传递给收件服务器
    处理用户收到的邮件 —— 投递到邮箱
    协议
    SMTP 端口号 25
    pop3 端口号 110
    IMAP 端口号 143
    快速部署postfix邮件服务器
    1.装包postfix
    yum -y install postfix
    2.修改配置文件
    --默认标准配置只为本机收发件
    vim/etc/postfix/main.cf
    --->
    inet_interfaces = all 监听接口
    mydomain = example.com 邮件域
    myhostname = example.com 本服务器主机名
    3.启动postfix服务
    systemctl restart postfix
    netstat -antpu | grep :25 查看监听状态
    4.使用mail命令发信/收信
    发信
    mail -s '邮件标题' 收信人[@收件域]
    收信
    mail [-u 用户名]
    & 1 读取第一封邮件
    & q 退出mail工具

    echo '123' | mail -s 'mail1' root
    mail -u root

    『nullclient邮件服务』


    postfix空客户端邮件服务

    、配置、起服务
    serverO:搭建邮件服务(server0.example.com)
    1.设置永久的主机名(server0.example.com)/etc/hostname
    2.安装postfix软件包

    99行 myorigin = server0.example.com #默认补全的发件人域名
    116行 inet_interfaces = all #设置监听的网络接口
    164行 mydestination = server0.example.com
    #收件人的域名后缀,判断为本域邮件
    4.重起postfix服务

    desktopO:搭建邮件服务(desktop0.example.com)
    1.设置永久的主机名(desktop0.example.com)/etc/hostname
    2.安装postfix软件包
    3.修改配置文件/etc/postfix/main.cf
    99行 myorigin = desktop0.example.com #默认补全的发件人域名
    116行 inet_interfaces = all #设置监听的网络接口
    164行 mydestination = desktop0.example.com
    #收件人的域名后缀,判断为本域邮件
    4.重起postfix服务

    server0:创建yg用户,设置密码123
    desktop0:创建xln用户,设置密码123

    server0: mail -s 'test01' -r yg xln@desktop0.example.com
    desktop0:mail -u xln
    ########################################################
    使用mail命令发信/收信
    • mail 发信操作
    – mail -s '邮件标题' 收件人 [@收件域]...

    • mail 收信操作
    – mail [-u 用户名]


    #######################################################
    nullclient邮件服务

    • nullclient,空客户端
    – 不提供任何邮箱账号,因此不需要投递邮件
    – 但是可以为用户代发邮件


    环境准备:还原server、desktop

    设置server与desktop防火墙默认区域为trusted

    # firewall-cmd --set-default-zone=trusted

    #####################################################
    一、nullclient,空客户端邮件服务器 ( server0)
    1.设置永久的主机名(server0.example.com)/etc/hostname
    2. 修改/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 #信任网络
    316 relayhost = [smtp0.example.com] #目标邮件服务器
    4.重起postfix服务
    二、配置邮件服务器smtp0.example.com
    1.设置永久的主机名(desktop0.example.com)/etc/hostname
    desktop0:lab smtp-nullclient setup

    三、测试:
    在server上发一封邮件给student,最后desktop0上student收到
    # mail -s 'test01' -r root student
    #####################################################
    数据库服务基础

    MariaDB 数据库的管理员 root ,不同系统的管理员

    部署mariadb数据库服务器
    • RHEL7 中的 MariaDB 相关包
    – mariadb-server:提供服务端有关的系统程序
    – mariadb:提供客户端及管理工具
    – mariadb数据库服务端口:3306

    [root@server0 ~]# yum -y install mariadb-server
    [root@server0 ~]# systemctl restart mariadb
    [root@server0 ~]# mysql

    MariaDB [(none)]> show databases; #查看所有的库
    MariaDB [(none)]> create database nsd1705; #创建库
    MariaDB [(none)]> show databases;

    MariaDB [(none)]> drop database nsd1705; #删除库
    MariaDB [(none)]> show databases;
    MariaDB [(none)]> exit #退出数据库服务

    #######################################################

    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'

    [root@server0 ~]# mysql -u root -p123

    #####################################################
    – 使用/选择数据库: 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 [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 '密码';
    ######################################################
    – 除了 root 用户,此数据库nsd只能被用户 lisi 查询,此用户的密码为123

    数据库的授权

    [root@server0 ~]# mysql -u root -p123
    grant select on nsd.* to lisi@localhost identified by '123';

    当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;


    ##########################################################################
    数据库的增删查:
    MariaDB> create database 库名;
    MariaDB> drop database 库名;
    MariaDB> show databases;
    MariaDB> use 库名;

    数据表的查询、删除:
    MariaDB> select 字段列表 from 库名.表名;
    MariaDB> select 字段列表 from 库名.表名 where 字段名=值;
    MariaDB> delete from 库名.表名 where 字段名=值 .. .. ;

    用户授权控制:
    MariaDB> grant 权限列表 on 库名.表名 to 用户名@客户机地址 identfified by '密码';

    补充
    postfix电子邮件服务器 ——

    邮件服务器的基本功能:
    1)为用户提供邮箱账号
    2)为用户向外发送邮件
    3)为用户接收并投递邮件

    标配邮件服务器:
    本机的程序 ==》本机的postfix邮件服务器

    普通邮件服务器:
    本机或其他主机的程序 ==》postfix邮件服务器


    nullclient邮件服务器:
    1)不为用户提供邮箱账号
    2)为用户向外发送邮件
    3)不为用户接收并投递邮件

    本机程序 ==》postfix邮件服务器 ==》后端邮件服务器


    echo '邮件内容' | mail -s '邮件标题' 收件人1地址 收件人2地址 ...

    mail
    mail -u 用户名

    MariaDB数据库 ——

    搭建数据库服务器:
    # yum -y install mariadb-server mariadb
    # systemctl restart mariadb


    数据库服务器的配置操作:
    # vim /etc/my.cnf
    skip-networking
    # systemctl restart mariadb

    # mysqladmin -u用户名 -p旧密码 password '新密码'


    关于服务程序的监听地址、端口
    netstat -anptu

    -a:所有的连接
    -n:以数字的方式显示
    -p:显示对应的进程号(PID)
    -t:列出TCP连接
    -u:列出UDP连接
    -l:列出本机监听的连接


  • 相关阅读:
    flash flip 效果集
    [Chatter] : 程序设计的深度跟广度
    [Architecture Pattern] Lazy Boundary
    [ASP.NET] : 可抽换式验证来源 (DB验证建立、抽换)
    [ASP.NET] : 可抽换式验证来源 (LDAP验证、Windows验证...)
    [.NET] : 测试项目生命周期
    [Objectoriented] : 重用
    [.NET] : 自定义Configuration区段的资料写入
    [Design Pattern] : Builder vs Factory的差异点
    [Windows Forms] : 跨线程控制WinForm窗体对象
  • 原文地址:https://www.cnblogs.com/fuzhongfaya/p/8952273.html
Copyright © 2011-2022 走看看