RHCE通关必知必会

考前一:更改虚机root密码

  • 在开机启动出现内核选项时按e,进入启动编辑模式;
  • 光标定位到以linux16开头的这一行,按下键盘上的[End]键,直接跳到这一行的末尾,追加rd.break;
  • 按Ctrl+x重启进入单用户模式;
  • mount -o remount,rw /sysroot
  • chroot /sysroot
  • echo redhat |passwd –-stdin root
  • touch /.autorelabel     //为了让selinux生效,否则系统不能正常启动;
  • exit
  • reboot
  •  

考前二:配置YUM源

  • cd /etc/yum.repos.d/
  • vim local.repo

[local.repo]

name=local.repo

baseurl=http://server.rhce.cc/dvd  

gpgcheck=0

enabled=1

  • scp local.repo system2:/etc/yum.repos.d/

 

第一题:配置SELinux

       SELinux必须在两个系统system1和system2中运行于Enforcing模式

  • vim /etc/selinux/config

              SELINUX=enforcing

  • setenforce 1

第二题:配置SSH访问

       按以下要求配置SSH访问:

              用户能够从域rhce.cc内的客户端通过SSH远程访问您的两个虚拟机系统

              在域my133t.org内的客户端不能访问您的两个虚拟机系统。

              system1:

  • vim /etc/hosts.allow

                     sshd : 192.168.122.0/255.255.255.0

              或  sshd : .rhce.cc

  • vim /etc/hosts.deny

                     sshd : .my133t.org

  • systemctl restart sshd
  • systemctl enable sshd
  • scp /etc/hosts.allow /etc/hosts.deny system2:/etc/

              system2:

  • systemctl restart sshd
  • systemctl enable sshd

第三题:自定义用户环境

       在系统system1和system2上常见自定义命令名为qstat

       此自定义命令将执行以下命令:

       /bin/ps -Ao pid,tt,user,fname,rsz

       此命令对系统中所有用户生效。

       system1:

  • vim /etc/profile

              alias qstat='/bin/ps -Ao pid,tt,user,fname,rsz'

  • source /etc/profile
  • qstat

system2重复system1步骤即可。

第四题:配置端口转发

       在系统system1配置端口转发,要求如下:

       在192.168.122.0/24网络中的系统,访问system1的本地端口5423将被转发到80

       此设置必须永久有效。

       system1:

  • man -k firewall
  • man firewalld.richlanguage

              /examples

EXAMPLE5:

rule family="ipv6" source address="1:2:3:4:6::" forward-port to-addr="1::2:3:4:7" to-port="4012" protocol="tcp" port="4011"

  • firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.122.0/24" forward-port to-port="80" protocol="tcp" port="5423"'(添加转发规则)
  • firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.122.0/24" forward-port to-port="80" protocol="tcp" port="5423"' --permanent (使其永久生效)

第五题:配置聚合链路

       在system1.rhce.cc和system2.rhce.cc之间按以下要求配置一个链路:

              此链路使用接口eth1和eth2

              此链路在一个接口失效时仍然能工作

              此链路在system1使用下面的地址:172.16.11.25/255.255.255.0

              此链路在system2使用下面的地址:172.16.11.35/255.255.255.0

              此链路在系统重启之后仍然保持正常状态

       system1:

  • cd /usr/share/doc/teamd-1.9/example_ifcfgs/1/
  • cp * /etc/sysconfig/network-scripts
  • cd /etc/sysconfig/network-scripts
  • vim ifcfg-team_test0

DEVICE=”team_test0”

NAME=”team_test0”

DEVICETYPE=”Team”

ONBOOT=”yes”

BOOTPROTO=none

NETMASK=255.255.255.0

IPADDR=172.16.11.25

TEAM_CONFIG=’{“runner”: {“name”: “activebackup”}}’

  • vim ifcfg-eth1

DEVICE=”eth1”

NAME=”eth1”

DEVICETYPE=”TeamPort”

ONBOOT=”yes”

TEAM_MASTER=”team_test0”

  • vim ifcfg-eth2

DEVICE=”eth2”

NAME=”eth2”

DEVICETYPE=”TeamPort”

ONBOOT=”yes”

TEAM_MASTER=”team_test0”

  • systemctl restart network
  • scp ifcfg-eth1 ifcfg-eth2 ifcfg-team_test0 system2:/etc/sysconfig/network-scripts

 

system2:

  • vim ifcfg-team_test0

DEVICE=”team_test0”

NAME=team_test0

DEVICETYPE=”Team”

ONBOOT=”yes”

BOOTPROTO=none

NETMASK=255.255.255.0

IPADDR=172.16.11.35

TEAM_CONFIG=’{“runner”: {“name”: “activebackup”}}’

  • systemctl restart network

第六题:配置IPv6地址

       在您的考试系统上配置接口eth0使用下列IPv6地址:

       system1上的地址应该是200e:ac18:e0a/64

       system2上的地址应该是200e:ac18:e14/64

       两个系统必须能与网络200e:ac18/64内的系统通信

       地址必须在重启后依旧生效

       两个系统必须保持当前的IPv4地址并能通信

       system1:

  • nmcli con
  • nmcli con modify eth0 ipv6.method auto
  • nmcli con modify eth0 ipv6.addresses 200e:ac18:e0a/64
  • nmcli con modify eth0 ipv6.method manual
  • systemctl restart network
  • ifconfig eth0

system2:

  • nmcli con
  • nmcli con modify eth0 ipv6.method auto
  • nmcli con modify eth0 ipv6.addresses 200e:ac18:e14/64
  • nmcli con modify eth0 ipv6.method manual
  • systemctl restart network
  • ifconfig eth0
  • ping6 200e:ac18:e14/64
  • ping6 200e:ac18:e0a/64

      

第七题:配置本地邮件服务

       在系统system1和system2上配置邮件服务,满足以下要求:

              这些系统不接收外部发送来的邮件

              这些系统上本地发送的任何邮件都会自动路由到rhgls.rhce.cc

              这些系统上发送的邮件显示来自于rhce.cc

       您可以通过发送邮件到本地用户‘dave’来测试您的配置

       系统rhgls.rhce.cc已经配置把此用户的邮件转到下列URL

       http://rhgls.rhce.cc/received_mail/11

       system1:

  • firewall-cmd --add-service=smtp
  • firewall-cmd --add-service=smtp --permanent
  • vim /etc/postfix/main.cf

mydestination =     //设置为空,这样本地就不能收任何邮件了

relayhost = [rhgls.rhce.cc]    //本地发送任何邮件都会被路由到rhgls.rhce.cc

myorigin = rhce.cc   //系统上发送的邮件显示来自于rhce.cc

  • systemctl restart postfix
  • systemctl enable postfix
  • 发送测试邮件验证:
  • yum install mailx -y
  • echo aaaaa |mail -s ‘aaa’ dave
  • 在浏览器中打开http://rhgls.rhce.cc/received_mail/11,打开邮件查看
  • scp main.cf system2:/etc/postfix

system2

  • firewall-cmd --add-service=smtp
  • firewall-cmd --add-service=smtp --permanent
  • systemctl restart postfix

systemctl enable postfix

第八题:通过SMB共享目录

       在system1上配置SMB服务

              您的SMB服务器必须是STAFF工作组的一个成员

              共享/common目录,共享名必须为common

              只有rhce.cc域内的客户端可以访问common共享

              common必须是可以浏览的

              用户andy必须能够读取共享中的内容,如果需要的话,验证的密码是redhat

  • firewall-cmd –-add-service=samba
  • firewall-cmd –-add-service=samba --permanent
  • yum install samba -y
  • systemctl start smb
  • systemctl enable smb
  • vim /etc/samba/smb.conf
        workgroup = STAFF
  • mkdir /common     (在/创建common文件夹)
  • chcon -R -t samba_share_t /common  (一定要更改上下文,chcon是临时的)
  • semanage fcontext -a -t samba_share_t '/common(/.*)?'(永久更改上下文)
  • restorecon -vr /common
  • vim /etc/samba/smb.conf

                     [common]

                            path = /common

                            hosts allow = 192.168.122.0/24

  • id andy         (查看andy用户,没有该用户的话就创建)
  • useradd andy
  • echo redhat |passwd –-stdin andy
  • yum whatprovides */smbpasswd   (查找安装SMB密码插件)
  • yum install samba-client -y
  • smbpasswd -a andy    (创建验证密码,输入密码redhat两次)

              在system2上进行验证:

  • smbclient -L //system1 -U andy%redhat   (查看共享目录)
  • smbclient //system1/common -U andy%redhat   (浏览共享目录)

第九题:配置多用户SMB挂载

       在system1共享通过SMB目录/miscellaneous满足以下要求:

       共享名为miscellaneous

       共享目录miscellaneous只能被rhce.cc域中的客户端使用

       共享目录miscellaneous必须可以被浏览

       用户silene必须能以读的方式访问此共享,访问密码是redhat

       用户akira必须能以读写的方式访问此共享,访问密码是redhat

       此共享永久挂载在system2.rhce.cc上的/mnt/multi目录,并使用用户silene作为认证。任何用户可以通过用户akira来临时获取写的权限。

  • mkdir /miscellaneous  (在/下创建共享目录miscellaneous)
  • chcon -R -t samba_share_t /miscellaneous  (SMB创建共享目录后一定要更改上下文)
  • vim /etc/samba/smb.conf

              [miscellaneous]

                     path = /miscellaneous

                     hosts allow = 192.168.122.0/24

                     writable = no

                     write list = akira

  • chmod o+w /miscellaneous/   (赋予其他人可以写入的权限)
  • id silene
  • id akira
  • useradd silene
  • echo redhat |passwd –-stdin silene
  • useradd akira
  • echo redhat |passwd –-stdin akira
  • smbpasswd -a silene
  • smbpasswd -a akira
  • systemctl restart smb
  • systemctl enable smb

       在system2上

  • mkdir /mnt/multi
  • vim /etc/fstab   (参阅man mount.cifs)

              //system1/miscellaneous /mnt/multi cifs defaults,username=silene,password=redhat,multiuser,sec=ntlmssp 0 0   

       验证:

  • smbclient //system1/miscellaneous -U silene%redhat  (测试读写)
  • smbclient //system1/miscellaneous -U akira%redhat  (测试读写)
  • smbclient -L //system1 -U andy%redhat
  • yum install cifs-u* -y
  • mount -a
  • df -hT
  • cifscreds add system1 -u silene
  • cifscreds add system1 -u akira

第十题:配置NFS服务

       在system1配置NFS服务,要求如下:

       以只读的方式共享目录/public同时只能被rhce.cc域中的系统访问

       以读写的方式共享目录/protected能被rhce.cc域中的系统访问

       访问/protected需要通过Keyberos安全加密,您可以使用下面URL提供的密钥

       http://host.rhce.cc/materials/nfs_server.keytab

    目录/protected应该包含名为confidential拥有人为ldapuser11的子目录

    用户ldapuser11能以读写方式访问/protected/confidential

    system1

     firewall-cmd --add-rich-rule 'rule family=ipv4 source address=192.168.122.0/24 service name=nfs accept'

       firewall-cmd --add-rich-rule 'rule family=ipv4 source address=192.168.122.0/24 service name=nfs accept' --permanent

       firewall-cmd --add-rich-rule 'rule family=ipv4 source address=192.168.122.0/24 service name=rpc-bind accept'

      firewall-cmd --add-rich-rule 'rule family=ipv4 source address=192.168.122.0/24 service name=rpc-bind accept' –permanent

      firewall-cmd --add-rich-rule 'rule family=ipv4 source address=192.168.122.0/24 service name=mountd accept'

      firewall-cmd --add-rich-rule 'rule family=ipv4 source address=192.168.122.0/24 service name=mountd accept' –permanent

  • mkdir /public
  • vim /etc/exports

    /public *(ro,sync)

  • exportfs -avr

在system2上验证

  • showmount -e system1
  • mount system1:/public /mnt  (如果出现mount报错,重启system1和system2的nfs和rpcbind服务)
  • umount /mnt

继续在system1上操作

        /protected *(rw,sync,sec=krb5p)

  • vim /etc/sysconfig/nfs

        RPCNFSDARGS="-V 4.2"

  • chcon -R -t public_content_t /protected
  • mkdir /protected/confidential
  • chcon -R -t public_content_t /protected
  • chown ldapuser11 /protected/confidential
  • systemctl restart nfs-server
  • systemctl enable nfs-server
  • systemctl restart nfs-secure-server
  • systemctl enable nfs-secure-server

第十一题:挂载一个NFS共享

       在system2上挂载一个来自system1.rhce.cc的NFS共享,并符合下列要求:

       /public挂载在下面的目录上/mnt/nfsmount

       /protected挂载在下面的目录上/mnt/nfssecure并使用安全的方式

       密钥下载URL如下:http://host.rhce.cc/materials/nfs_client.keytab

       用户ldapuser11能够在/mnt/nfssecure/confidential上创建文件

       这些文件系统在系统启动时自动挂载

  • showmount -e system1
  • mkdir /mnt/nfsmount
  • vim /etc/fstab

              system1.rhce.cc:/public    /mnt/nfsmount    nfs  defaults 0       0

system1.rhce.cc:/protected  /mnt/nfssecure  nfs      defaults,v4.2,sec=krb5p  0    0

  • mount -a
  • df -hT
  • ssh ldapuser11@system2.rhce.cc

第十二题:配置web站点

       system1上配置一个站点http://system1.rhce.cc然后执行下述步骤:

       从http://rhgls.rhce.cc/materials/station.html下载文件,

       并且将文件重命名为index.html不要修改此文件的内容

       将文件index.html拷贝到您的web服务器的DocumentRoot目录下

       来自于rhce.cc域的客户端可以访问此Web服务

       来自于my133t.org域的客户端拒绝访问此Web服务

       system1

  • yum groupinstall web* -y

       如果yum groupinstall web* -y 安装有问题的话,执行下面的命令安装:

  • yum install httpd mod_ssl mod_wsgi -y
  • systemctl start httpd
  • systemctl enable httpd
  • vim /etc/httpd/conf/httpd.conf

              ServerName system1.rhce.cc:80

  • wget -O /var/www/html/index.html http://rhgls.rhce.cc/materials/station.html
  • firewall-cmd --add-rich-rule 'rule family=ipv4 source address=192.168.122.0/24 service name=http accept'
  • firewall-cmd --add-rich-rule 'rule family=ipv4 source address=192.168.122.0/24 service name=http accept' –-permanent
  • systemctl restart httpd
  • ping system1.rhce.cc         获得ip地址为192.168.122.100
  • vim /etc/hosts

              192.168.122.100  system1.rhce.cc

       验证:在火狐浏览器中输入system1.rhce.cc登录成功即可。

第十三题:配置安全web服务

       为站点http://system1.rhce.cc配置TLS

加密一个已签名证书,从http://host.rhce.cc/materials/system1.crt获取;

此证书的密钥,从http://host.rhce.cc/materials/system1.key获取;

此证书的签名授权信息,从http://host.rhce.cc/materials/domain11.crt获取;

       SSLCertificateFile /etc/httpd/conf.d/system1.crt

       SSLCertificateKeyFile /etc/httpd/conf.d/system1.key

       SSLCertificateChainFile /etc/httpd/conf.d/domain11.crt

  • systemctl restart httpd

firewall-cmd --add-rich-rule 'rule family=ipv4 source address=192.168.122.0/24 service name=https accept'

firewall-cmd --add-rich-rule 'rule family=ipv4 source address=192.168.122.0/24 service name=https accept' --permanent

第十四题:配置虚拟主机

       在system1上扩展您的web服务器,为站点http://www.rhce.cc创建一个虚拟主机;

       然后执行下述步骤:

              设置DocumentRoot为/var/www/virtual

              从http://rhgls.rhce.cc/materials/www.html

              下载文件并重命名为index.html不要对文件index.html的内容做任何修改;

              将文件index.html放到虚拟主机的DocumentRoot目录下

              确保andy用户能够在/var/www/virtual目录下创建文件

              注意:原始站点http://system1.rhce.cc必须仍然能够访问

              名称服务器rhce.cc提供对主机名www.rhce.cc的域名解析

       获取到IP地址为192.168.122.100

  • vim /etc/hosts

              192.168.122.100  www.rhce.cc

  • mkdir /var/www/virtual
  • wget -O /var/www/virtual/index.html http://rhgls.rhce.cc/materials/www.html
  • setfacl -m u:andy:rwx /var/www/virtual
  • cp /usr/share/doc/httpd-2.4.6/httpd-vhosts.conf /etc/httpd/conf.d/vhost.conf
  • vim /etc/httpd/conf.d/vhost.conf

              <VirtualHost www.rhce.cc:80>

              DocumentRoot /var/www/virtual

              ServerName www.rhce.cc

              </VirtualHost>

              <VirtualHost system1.rhce.cc:80>

              DocumentRoot /var/www/html

              ServerName system1.rhce.cc

              </VirtualHost>

  • systemctl restart httpd

       验证:清除网页缓存后访问www.rhce.cc和system1.rhce.cc,正常即可。

第十五题:配置web内容的访问

在您的system1上的web服务器的DocumentRoot目录下,创建一个名为secret的目录,要求如下:

       从http://rhgls.rhce.cc/materials/private.html下载一个文件副本到这个目录;

       并且重命名为index.html

       不要对这个文件做任何修改;

       从system1上,任何人都可以浏览secret的内容;

       但是从其他系统不能访问这个目录的内容。

        参考http.conf中Directory的内容,继续编辑vhost.conf

  • vim /etc/httpd/conf.d/vhost.conf

                 <VirtualHost www.rhce.cc:80>

                         DocumentRoot /var/www/virtual

                         ServerName www.rhce.cc

                 </VirtualHost>

                 <VirtualHost system1.rhce.cc:80>

                         DocumentRoot /var/www/html

                         ServerName system1.rhce.cc

                 </VirtualHost>

                 <Directory “/var/www/html/secret”>

                         AllowOverride None

                         Require local

                 </Directory>

                 <Directory “/var/www/virtual/secret”>   

                         AllowOverride None

                         Require local

                 </Directory>

  • systemclt restart httpd

验证:在物理机上访问www.rhce.cc/secret system1.rhce.cc/secret 两个网址不可访问才正常。然后本机访问可正常访问才算成功。

第十六题:实现动态Web内容

       在system1上配置提供动态Web内容,要求如下:

       动态内容由名为dynamic.rhce.cc的虚拟主机提供

       虚拟主机侦听在端口8998

       从http://rhgls.rhce.cc/materials/webapp.wsgi下载一个脚本

       然后放在适当的位置,无论如何不要求修改此文件的内容

       客户端访问http://dynamic.rhce.cc:8998/时应该接收到动态生成的web页面

       此http://dynamic.rhce.cc:8998/必须能被rhce.cc域内的所有系统访问

  • ping dynamic.rhce.cc
  • vim /etc/hosts

              192.168.122.100  dynamic.rhce.cc   dynamic

       firewall-cmd --add-rich-rule 'rule family=ipv4 source address=192.168.122.0/24 port port=8998 protocol=tcp accept'

firewall-cmd --add-rich-rule 'rule family=ipv4 source address=192.168.122.0/24 port port=8998 protocol=tcp accept' --permanent

  • vim /etc/httpd/conf/httpd.conf

              Listen 8998

  • vim /etc/httpd/conf.d/vhost.conf

<VirtualHost www.rhce.cc:80>

               DocumentRoot /var/www/virtual

               ServerName www.rhce.cc

</VirtualHost>

<VirtualHost system1.rhce.cc:80>

               DocumentRoot /var/www/html

               ServerName system1.rhce.cc

</VirtualHost>

<VirtualHost dynamic.rhce.cc:8998>

               DocumentRoot /var/www/html/yy

               ServerName dynamic.rhce.cc

</VirtualHost>

<Directory "/var/www/html/secret">

               AllowOverride None

               Require local

</Directory>

<Directory "/var/www/virtual/secret">

               AllowOverride None

               Require local

</Directory>

              <VirtualHost www.rhce.cc:80>

               DocumentRoot /var/www/virtual

               ServerName www.rhce.cc

</VirtualHost>

<VirtualHost system1.rhce.cc:80>

               DocumentRoot /var/www/html

               ServerName system1.rhce.cc

</VirtualHost>

<VirtualHost dynamic.rhce.cc:8998>

               DocumentRoot /var/www/html/yy

               ServerName dynamic.rhce.cc

               WSGIScriptAlias /var/www/html/yy/webapp.wsgi

</VirtualHost>

<Directory "/var/www/html/secret">

               AllowOverride None

               Require local

</Directory>

<Directory "/var/www/virtual/secret">

               AllowOverride None

               Require local

</Directory>

       找改端口模板

  • vim /etc/ssh/sshd_config

              semanage port -a -t ssh_port -p tcp portnumber

              修改成http_port_t

  • yum whatprovides */semanage
  • yum install policycoreutils-python-2.2.5-11.el7.x86_64 -y
  • semanage port -a -t http_port_t -p tcp 8998
  • systemctl restart httpd

第十七题:创建一个脚本

       在system1上创建一个名为/root/script的脚本,让其提供下列特性:

       当运行/root/script foo输出为bar

       当运行/root/script bar 输出为foo

       当没有任何参数或者参数不是foo或者bar时,其错误输出产生以下的信息:

       /root/script foo|bar

  • vim /root/script

              #!/bin/bash

              case $1 in

                     foo)

                            echo bar

                            ;;

                     bar)

                            echo foo

                            ;;

                     *)

                            echo ‘/root/script foo|bar’;;

              esac

  • chmod +x /root/script

第十八题:创建一个添加用户的脚本

       在system1上创建一个脚本,名为/root/mkusers

       此脚本能实现为系统system1创建本地用户;

       并且这些用户的用户名来自一个包含用户名列表的文件;

       如果没有提供参数,此脚本应该给出下面的提示信息:

       Usage:/root/mkusers

       然后退出并返回相应的值;

       如果提供一个不存在的文件名,此脚本应该给出下面的提示信息:

       Input file not found

       然后退出并返回相应的值;

       创建的用户登录shell为/bin/false

       此脚本不需要为用户设置密码;

       您可以从下面的URL获取用户名列表作为测试用:

       http://rhgls.rhce.cc/materials/userlist

  • vim /root/mkusers

       #!/bin/bash

if [ $# -eq 0 ];then

        echo "Usage:/root/mkusers"

        exit 1

fi

if [ ! -f $1 ];then

        echo "Input file not found"

              exit 1

fi

while read aa

do

        useradd -s /bin/false $aa

done < $1

验证:执行脚本

  • ./mkusers
  • ./mkusers dfafsd
  • ./mkusers userlist

第十九题:配置iSCSI

       配置system1提供一个iSCSI服务,

磁盘名为iqn.2014-09.com.example.domain:system1

       并符合下列要求:

              服务端口为3260

              使用iscsi_vol作其后端卷,其大小为3G

              此服务只能被system2.rhce.cc访问

  • yum install target* -y
  • systemctl start target
  • systemctl enable target

firewall-cmd --add-rich-rule 'rule family=ipv4 source address=192.168.122.200 port port=3260 protocol=tcp accept'

firewall-cmd --add-rich-rule 'rule family=ipv4 source address=192.168.122.200 port port=3260 protocol=tcp accept' –permanent

  • lsblk
  • fdisk /dev/vda
  •        pànàpà+3G
  • partprobe /dev/vda
  • targetcli
  • ls /
  • /backstores/block create iscsi_vol /dev/vda4
  • ls /
  • /iscsi create iqn.2014-09.com.example.domain:system1
  • ls /
  • cd iscsi/iqn.2014-09.com.example.domain:system1/tpg1
  • acls/ create iqn.2014-09.com.example.domain:xx
  • ls /
  • luns/ create /backstores/block/iscsi_vol
  • portals/ create 0.0.0.0 3260
  • exit

第二十题:配置iSCSI的客户端

       配置system2使其能连接在system1上提供的

       iqn.2014-09.com.example.domain11:system1

       并符合以下要求:

       iSCSI设备在系统启动的期间自动加载;

       块设备iSCSI上包含一个大小为1700MiB的分区;

并格式化为xfs;

       此分区挂载在/mnt/data上;

       同时在系统启动的期间自动挂载;

  • yum install iscsi*
  • vim /etc/iscsi/initiatorname.iscsi

              InitiatorName=iqn.2014-09.com.example.domain11:xx

  • systemctl start iscsid
  • systemctl enable iscsid
  • iscsiadm -m discovery -t st -p system1.rhce.cc -l
  • fdisk /dev/sda

nàpà+1700Màw

  • mkfs.xfs /dev/sda1
  • vim /etc/fstab

       /dev/sda1    /mnt/data    xfs    defaults,_netdev    0    0

  • mkdir /mnt/data
  • mount -a

第二十一题:配置一个数据库

       在system1上创建一个MariaDB数据库,名为Contacts,并符合以下条件:

       数据库应该包含来自数据库复制的内容,

       复制文件的URL为http://rhgls.rhce.cc/materials/users.mdb

       数据库只能被localhost访问。

       除了root用户,此数据库只能被用户Luigi查询,此用户密码为redhat

       root用户的密码为redhat,同时不允许空密码登录

  • yum install mariadb-server mariadb -y
  • systemctl start mariadb
  • systemctl enable mariadb
  • mysql

              show databases;

              create database Contacts;

              use Contacts

              source /root/users.mdb

              show tables;

              grant select on Contacts.* to Luigi@’localhost’ identified by ‘redhat’;

              set password=password(‘redhat’);

第二十二题:数据库查询

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

       密码是tangerine的人的名字?

       有多少人的姓名是John同时居住在Santa Clara?

  • mysql -uroot -predhat

              use Contacts

              show tables;

              desc loc;

              desc name;

              desc pass;

       select * from name join pass where name.aid=pass.bid and password=’tangerine’;

       select * from name join loc where name.aid=loc.cid and firstname=’John’ and

       loction=’Santa Clara’;

       select count(*) from name join loc where name.aid=loc.cid and firstname=’John’

       and loction=’Santa Clara’;

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值