linux系统学习第八天-<<工程师技术>>

两台虚拟机,均修改防火器与主机名

虚拟机server0:
# firewall-cmd --set-default-zone=trusted
# echo server0.example.com  >  /etc/hostname
# cat /etc/hostname

虚拟机desktop0:
# firewall-cmd --set-default-zone=trusted
# echo desktop0.example.com  >  /etc/hostname
# cat /etc/hostname

? 电子邮件服务器的基本功能
    – 为用户提供电子邮箱存储空间(用户名@邮件域名)
    – 处理用户发出的邮件 —— 传递给收件服务器
    – 处理用户收到的邮件 —— 投递到邮箱

用户发邮件的协议:  SMTP  端口25
      用户收邮件的协议:  pop3  端口110    IMAP 端口143        
   
######################################################
虚拟机server0
搭建基本邮件服务器
1. 安装postfix服务端程序
[[email protected] ~]# rpm -q postfix
postfix-2.10.1-6.el7.x86_64

2.配置postfix服务,修改配置文件
[[email protected] ~]# vim /etc/postfix/main.cf
 76行   myhostname = server0.example.com     #指定主机名
 83行   mydomain = example.com               #指定域名
 99行   myorigin = server0.example.com    #默认补全的邮件后缀
 116行 inet_interfaces = all             #允许所有客户端
 164行 mydestination = server0.example.com
                                                                #判断邮件后缀为本域邮件
   补充:vim  命令模式      u 撤销

3.重起postfix服务,设置为开机自起
# systemctl restart postfix                       
# systemctl enable  postfix

4. 测试邮件的收发

[[email protected] ~]# useradd yg
[[email protected] ~]# echo 123 | passwd --stdin yg

[[email protected] ~]# useradd xln
[[email protected] ~]# echo 123 | passwd --stdin xln

? mail 发信操作
    – mail -s '邮件标题'   -r 发件人    收件人

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

[[email protected] ~]# mail -s 'test01' -r yg   xln

一行中只有一个  “.”    的时候,代表结束
 
[[email protected] ~]# mail -u xln
  输入 邮件编号 1 查看邮件内容
  quit 退出
#################################################

nullclient邮件服务

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

一、配置desktop0为邮件服务器
1.配置postfix服务,修改配置文件
[[email protected] ~]# vim /etc/postfix/main.cf

99行    myorigin = desktop0.example.com   
 116行  inet_interfaces = all           
 164行  mydestination = desktop0.example.com

[[email protected] ~]# systemctl restart postfix
[[email protected] ~]# systemctl enable postfix

二、配置server0为空客户端邮件服务器
[[email protected] ~]# vim /etc/postfix/main.cf

99行     myorigin = desktop0.example.com
  116行   inet_interfaces = localhost
  164行   mydestination =
  317行   relayhost = [172.25.0.10]   #指定交给邮件服务器IP地址
   
[[email protected] ~]# systemctl restart postfix

三、测试
虚拟机server0上
# echo   abc   |   mail -s Test1 -r  yg   student

虚拟机desktop0上
# mail -u student
######################################################
 数据库服务基础

? 常见的关系型 数据库管理系统
– 微软的 SQL Server
– IBM的 DB2
– 甲骨文的 Oracle、MySQL
– 社区开源版 MariaDB

? RHEL7 中的 MariaDB 相关包
    – mariadb-server:提供服务端有关的系统程序
               端口号 : 3306

一、部署mariadb数据库
1.安装mariadb-server数据库软件
[[email protected] ~]# yum -y install mariadb-server

2.启动mariadb服务
[[email protected] ~]# systemctl restart mariadb
[[email protected] ~]# systemctl enable mariadb

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

[[email protected] ~]# mysql

MariaDB [(none)]> show databases;           #查看数据库
MariaDB [(none)]> create database nsd1709;  #创建数据库
MariaDB [(none)]> show databases;

MariaDB [(none)]> drop database nsd1709;    #删除数据库
MariaDB [(none)]> show databases;

MariaDB [(none)]> create database nsd;   
MariaDB [(none)]> show databases;

MariaDB [(none)]> quit                     #退出数据库

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

数据库管理员为root,但与系统用户root没有关系

? 为数据库账号修改密码
– mysqladmin [-u用户名] [-p[旧密码]] password '新密码'

[[email protected] ~]# mysqladmin -u  root   password  '123'

[[email protected] ~]# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

[[email protected] ~]# mysql  -u  root  -p
Enter password:

[[email protected] ~]# mysql -u root -p123      #免交互登陆

? 禁止监听,只服务于本机
[[email protected] ~]# vim /etc/my.cnf   #数据库主配置文件
[mysqld]
skip-networking         #跳过网络监听
......
[[email protected] ~]# systemctl restart mariadb

? MariaDB [(none)]> 交互指令
– 列出数据库:show databases;
– 使用/选择数据库:use 数据库名;
– 列出库里有哪些表:show tables;
– 创建数据库:CREATE database 数据库名;
– 删除数据库:DROP database 数据库名;

http://172.25.254.254/pub/materials/users.sql

? 导入/恢复到数据库
– mysql [-u用户名] [-p[密码]] 数据库名  <  备份文件.sql

# wget http://172.25.254.254/pub/materials/users.sql
# mysql -u root -p123 nsd < users.sql

# mysql -u root -p123

MariaDB [nsd]> use nsd;          #进入nsd库
MariaDB [nsd]> show tables;      #查看都有那些表格

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

查询操作
# mysql -u root -p123
MariaDB [nsd]> use nsd;

MariaDB [nsd]> select * from base;
MariaDB [nsd]> select * from location;

MariaDB [nsd]> select id,name from base;

MariaDB [nsd]> select * from base where name='tom';

MariaDB [nsd]> select * from location where city='beijing';

#######################################################
  数据库授权

MariaDB [(none)]> 交互指令
– grant 权限列表  on  数据库名.表名   to  用户名@localhost
  identified by '密码';

当lisi用户从本地localhost登陆,输入密码123,将会获得库nsd所有表的查询权限

# mysql -u root -p123

MariaDB [(none)]> grant select on nsd.* to [email protected] identified by '123';

查看MariaDB数据库中,用户表信息

MariaDB [mysql]> select user,password from mysql.user;

#####################################################
案例5:使用数据库查询

2. 在系统 server0 上使用数据库 nsd,并使用相
应的 SQL 查询以回答下列问题:

1) 密码是 solicitous 的人的名字?

> select * from nsd.base where password='solicitous';
> select * from nsd.base where password='solicitous' and  id='3';

> select * from nsd.base where name='Barbara' or  id='3';

2) 有多少人的姓名是 Barbara 同时居住在 Sunnyvale?

> use nsd;

> select * from base,location
where base.name='Barbara' and location.city='Sunnyvale'   and  base.id=location.id;

> select count(*) from base,location    
where base.name='Barbara' and location.city='Sunnyvale' and  base.id=location.id;

> insert base values(6,'Barbara',123456);  #插入表记录
> insert location values(6,'Sunnyvale');   #插入表记录
> select * from base;
> select * from location;

1. 禁止空密码root用户访问 mariadb 数据库

> use mysql;

> select user,host,password from user where password=''and user='root';

> delete from user where password='' and user='root';

> select user,host,password from user ;

> desc  user;   #查看表结构

时间: 2024-11-09 01:58:56

linux系统学习第八天-<<工程师技术>>的相关文章

linux系统学习第十二天-&lt;&lt;工程师技术&gt;&gt;

虚拟化概述 ? Virtualization 资源管理     – x个物理资源 --> y个逻辑资源     – 实现程度:完全.部分.硬件辅助(CPU) 手动新建一台虚拟机:                   虚拟机名字:example                 网络类型选择:private1 ######################################################### ? 使用 virt-manager 客户端工具 在真机上操作: ? 查看KV

linux系统学习第九天-&lt;&lt;工程师技术&gt;&gt;

两台虚拟机,均要检测 1.IP地址 2.是否可以解析,server0.example.com 3.Yum是否可用 4.防火墙默认区域修改为trusted #################################################### ? 基于 B/S (Browser/Server)架构的网页服务 – 服务端提供网页 – 浏览器下载并显示网页 ? Hyper Text Markup Language,超文本标记语言 ? Hyper Text Transfer Proto

Linux系统学习日志Day01

Day01   Linux系统学习日志 (一)  Linux历史 创始人:林纳斯·托瓦兹 时间:1991 年10 月5 日(对外公开时间) 现状:多版本,有redhat.centos.Ubuntu.fedora (二)  Linux认证 管理员:RHCSA 需要掌握的知识: Linux的命令和日常维护,包括安装操作系统.构建网络连接.管理物理存储和执行基础安全管理. 工程师:RHCE 需要掌握的知识: RH124红帽企业Linux基础 RH134红帽企业Linux系统管理 RH254红帽企业Li

Linux系统理解以及Linux系统学习心得

原创作品转载请注明出处  <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 作者:严哲璟 说一下我对Linux系统的理解 1.加载Linux内核准备:在加载基本输入输出模块(BIOS)之后,从磁盘的引导扇区读入操作系统的代码文件块到内存中,之后开始整个系统的初始化. 2.main.c的start_kernel函数是整个操作系统的入口,这也与Linux是基于C语言的特性相符,start_kernel具体做的动作很多

Linux系统学习笔记:序

Linux系统学习笔记:序 ??Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件.应用程序和网络协议.它支持32位和64位硬件.Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统. 本人使用的Linux为Ubuntu,主要以<APUE>(第3版)为学习蓝本. 1. Unix/Linux 体系结构 如图: 内核的接口被称为系统调用.公用函数库构建在

Linux系统学习之路和常用命令及其他系统相关内容

Linux系统学习之路 目录 Linux系统学习之路[第一篇]:Linux目录和基础知识 Linux系统学习之路[第二篇]:文件操作,文件查看,find查找 Linux系统学习之路[第三篇]:grep,vim,压缩功能详解 Linux系统学习之路[第四篇]:mount,rpm,yum,yum组讲解 Linux系统学习之路[第五篇]:用户和用户组管理 Linux系统学习之路[第六篇]:权限管理 Linux系统学习之路[第七篇]:磁盘和文件管理 Linux系统学习之路[第八篇]:LVM逻辑卷和RAI

Linux系统学习之用户与用户组

在Linux中,每个用户都拥有一个唯一的用户名和与之相关的用户标识符(UID,数值型).一个用户可以属于多个用户组,每个用户组都拥有唯一一个名称和一个用户组标识符(GID,数值型). UID和GID的主要用途有:一,确定各种系统资源的所有权:二,对赋予进程访问资源的权限进行控制. 说起用户和用户组,就必须谈谈相关的系统文件:/etc/passwd./etc/shadow和/etc/group.这些文件在Linux系统上都是以纯文本的形式存储.我们可以使用编辑器来修改它,也可以使用专有的命令来更改

linux系统学习第十三天-&lt;&lt;工程师技术&gt;&gt;

主要用途 /boot         存放系统引导必需的文件,包括内核.启动配置 /bin./sbin   存放各种命令程序 /dev          存放硬盘.键盘.鼠标.光驱等各种设备文件 /etc          存放Linux系统及各种程序的配置文件 /root./home/  用户名 分别是管理员root.普通用户的默认家目录 /var          存放日志文件.邮箱目录等经常变化的文件 /proc         存放内存中的映射数据,不占用磁盘 /tmp         

老司机浅谈linux系统学习技巧

Linux起源于20世纪70年代,是一种优秀的操作系统系统.初次接触到linux这个系统是在大学期间,这样才发现除了windows外的另外一个有趣系统.开始抱着好奇的心态去了解,随着深入学习,笔者被它独有的魅力所吸引.即使它的可视化窗口操作模式并不如Windows操作系统那样完美,可是它的可维护性.操作系统低占用率.可扩展性却让它在服务器操作系统方面已经成为资深服务器工程师的首选的操作工具. 笔者刚开始学习linux的时候,也不是一帆风顺的,一次偶然的机会在网上看到<linux就该这么学>这本