*【第一题】系统环境:我们操作的系统为RHEL7.0系统,其中Hostname:station.rhce.cc,IP address:192.168.122.100,Netmask:255.255.255.0,Gateway:192.168.122.1,NameServer:192.168.122.10,Root密码:redhat 操作步骤: (1)由于发现使用系统给定的密码'redhat'无法登陆系统,所以首先需要重置系统的root密码,按照下图点击强制复位后重新启动系统后,点击按键:e (2)将光标调整到'rhgb quiet'后面并将其删除,然后写上:# init=/bin/sh,然后按:Ctrl+x组合键。 (3)接着写上如下内容:# mount -o remount,rw /,然后回车;然后重新设置密码:# echo redhat | passwd --stdin root,接着回车;接着写:# touch /.autorelabel,创建一个隐藏文件并回车;最后写:# exec /sbin/init,直接回车运行,此时重置密码任务完成。 (4)给系统重新设置主机名:# hostnamectl set-hostname station.rhce.cc (5)进入到如下目录:# cd /etc/sysconfig/network-scripts,并且编辑:# vim ifcfg-eth0,并添加如下的信息: DEVICE=eth0 NAME=eth0 BOOTPROTO=none ONBOOT=yes IPADDR=192.168.122.100 NETMASK=255.255.255.0 GATEWAY=192.168.122.1 DNS1=192.168.122.10 (6)接着将网络重启一下:# systemctl restart network (7)使用ssh方式连接虚拟机:# ssh root@192.168.122.100 -X,此时便连接到station的机器上了。 ***验证:# ping station.rhce.cc能够正常的ping通,说明网络信息已经配置成功。


**【第二题】**SELinux必须运行在Enforcing模式下。 操作步骤: (1)首先查看系统的SELinux的设置情况:# getenforce (2)同时设置SELinux的模式在当前为Enforcing模式:# setenforce 1 (3)需要确保重新启动系统后仍然运行在Enforcing模式,进入配置文件进行设置:# vim /etc/selinux/config (4)修改配置文件,将原来的'SELINUX=permissive'修改为'SELINUX=enforcing',最后':wq'保存退出。


**【第三题】**配置YUM源,使用地址ftp://server.rhce.cc/dvd 作为默认的源。 操作步骤: (1)进入目录# cd /etc/yum.repos.d/ (2)编辑:# vim aa.repo (3)在数据仓库repo文件中写下配置信息: [aa] name=aa baseurl=ftp://server.rhce.cc/dvd enabled=1 gpgcheck=0 ***验证:***在系统中安装bc计算器的软件包,如果能够正常的安装成功,说明YUM源配置是正确的,# yum inStall bc -y


**【第四题】**调整逻辑卷vo的大小,它的文件系统应该为290M。确保这个文件系统的内容仍然完整。注意:分区很少能精确到和要求的大小相同,因此范围在260M到320之间都是可接受的。 操作步骤: (1)首先查看逻辑卷的大小:# lvscan (2)计算缺少的逻辑卷空间大小:# echo 290-192 | bc (3)在逻辑卷中扩展缺少的空间大小:# lvextend -L +98M /dev/vg0/vo (4)此时需要确定文件系统的类型:# df -hT (5)需要将文件系统的逻辑卷进行扩展:# xfs_growfs /home/ ***注意:***如果文件系统显示的是ext4类型,则操作:# resize2fs /dev/mapper/vg0-vo


**【第五题】**创建下面的用户、组合组成员关系:(a)名字为adminuser的组;(b)用户natasha,使用adminuser作为附属组;(c)用户harry,也使用adminuser作为附属组;(d)用户sarah,在系统上不能访问可交互的shell,且不是adminuser的成员,natasha,harry,sarah密码都是redhat 操作步骤: (1)首先创建用户组:# groupadd adminuser (2)创建用户natasha:# useradd -G adminuser natasha (3)创建用户harry:# useradd -G adminuser harry (4))创建用户sarah:# useradd -s /sbin/nologin sarah (5)给natasha用户设置密码:# echo redhat | passwd --stdin natasha (6)给harry用户设置密码:# echo redhat | passwd --stdin harry (7)给sarah用户设置密码:#echo redhat | passwd --stdin sarah


**【第六题】**复制文件/etc/fstab到/var/tmp/fstab,配置/var/tmp/fstab的权限如下:(a)文件/var/tmp/fstab所有者是root;(b)文件/var/tmp/fstab属于root组;(c)文件/var/tmp/fstab不能被任何用户执行;(d)用户natasha可读和可写/var/tmp/fstab;(e)用户harry既不能读也不能写/var/tmp/fstab;(f)所有其他用户(现在和将来)具有读/var/tmp/fstab的能力。 操作步骤: (1)首先复制文件:# cp /etc/fstab /var/tmp/fstab (2)查看文件的属主和属组:# ls -l /var/tmp/fstab (3)系统默认为不能被任何用户执行,没有'x'执行权限。 (4)由于对用户单独设置权限,所以使用ACL访问控制列表实现:# setfacl -m u:natasha:rw- /var/tmp/fstab (5)对harry用户单独设置权限:# setfacl -m u:harry:--- /var/tmp/fstab (6)其他用户具有读的能力:# ls -l /var/tmp/fstab,发现其他用户具有'r'的权限。


**【第七题】**用户natasha必须配置一个corn.job,当地时间每天14:23运行,执行:/bin/echo hiya 操作步骤: (1)首先给natasha创建一个计划任务:# crontab -e -u natasha (2)配置计划任务的“分、时、日、月、星期、命令”等信息:23 14 * * * /bin/echo hiya (3)输入':wq'保存退出。 ***验证:***检查刚刚的配置信息:# crontab -l -u natasha


**【第八题】**创建一个目录/home/adminS,使之具有下面的特性:(a)/home/adminS所属组为adminuser;(b)这个目录对组adminuser的成员具有可读、可写和可执行,但是不是对其他任何用户。(root可以访问系统上所有的文件和目录);(c)在/home/adminS下创建的任何文件所属组自动设置为adminuser 操作步骤: (1)首先创建目录:# mkdir /home/adminS (2)/home/adminS所属组为adminuser:# chgrp adminuser /home/adminS (3)接着查询目录/home/adminS的权限情况:#ls -ld /home/adminS (4)发现对组adminuser的成员缺少写的权限,因此需要添加:# chmod g+w /home/adminS (5)不对其他任何用户:# chmod o-rx /home/adminS (6)在/home/adminS下创建的任何文件所属组自动设置为adminuser,可以如下操作:# chmod g+s /home/adminS


**【第九题】**从http://rhgls.rhce.cc/pub/updates 安装合适的内核更新。下面的要求必须满足:更新的内核作为系统启动的默认内核;原来的内核在系统启动的时候仍然有效和可引导。 操作步骤: (1)首先用浏览器下载内核:# firefox http://rhgls.rhce.cc/pub/updates &,并且保存在系统桌面。(如图9-1和9-2) (2)升级下载好的内核:# rpm -ivh kernel-3.10.0-299.el7.x86_64.rpm,后续启动系统后会默认使用升级的了内核的系统。(如图9-3和9-4)


**【第十题】**系统host.rhce.cc提供了一个LDAP验证服务,你的系统应该按下面的要求绑定到这个服务:(a)验证服务的基准DN是dc=rhce,dc=cc;(b)LDAP用于提供账户信息和验证信息连接应该使用位于http://host.rhce.cc/pub/domain11.crt 的证书加密;(c)当正确的配置后,ldapuser11可以登录你的系统,但没有家目录,直到你完成autofs题目ldapuser11的密码是:redhat 操作步骤: (1)由于需要绑定LDAP服务,首先查询需要安装的软件包:# yum list auth* (2)将查询的到的软件包安装起来:# yum inStall authconfig-gtk.x86_64 -y (3)运行这个安装完毕的软件:# authconfig-gtk &,使其在后台运行。 (4)然后在“身份&验证”下的“用户帐户数据库”中,选择LDAP (5)按照系统要求安装缺少的软件包:# yum inStall nss-pam-ldapd -y (6)认证方法选择LDAP密码,在LDAP搜索基础DN中,填写dc=rhce,dc=cc;在LDAP服务器中,填写host.rhce.cc (7)勾选“用TLS加密连接”,在“下载CA证书”中填写:http://host.rhce.cc/pub/domain11.crt ***验证:***此时输入:# id ldapuser11,可以验证已经存在ldapuser11这个用户。


**【第十一题】**配置你的系统使它是rhgls.rhce.cc的一个NTP客户。 操作步骤: (1)因为需要创建一个时间服务器,所以首先安装软件包:# yum inStall system-config-date -y (2)执行命令:# system-config-date &,将窗口中示例的信息删除,并添加时间服务器:rhgls.rhce.cc,最后点击“确定”启动时间服务器即可。


*【第十二题】配置autofs自动挂载LDAP用户的家目录,如下要求:host.rhce.cc(192.168.122.10)使用NFS共享了/home/guests给你的系统。(a)这个文件系统包含了预先设置好的用户ldapuser11的家目录;(b)ldapuser11的家目录是host.rhce.cc:/home/guests/ldapuser11;(c)ldapuser11的家目录应该自动挂载到本地/home/guests下面的/home/guests/ldapuser11;(d)家目录必须对用户具有可写权限,ldapuser11的密码是:redhat 操作步骤: (1)首先安装自动挂载的软件包:# yum inStall autofs -y (2)然后编辑:# vim /etc/auto.master,并在auto.master文件中添加一行:/home/guests /etc/auto.aa (3)同时提供系统所需的auto.aa文件:# cp /etc/auto.misc /etc/auto.aa (4)在新生成的auto.aa文件中添加一行:ldapuser11 -fstype=nfs,rw,vers=3 host.rhce.cc:/home/guests/ldapuser11,使得ldapuser11的家目录自动挂载到本地/home/guests下面的/home/guests/ldapuser11 (5)将自动挂载autofs服务启动:# systemctl start autofs (6)并加入开机自动启动项中:# systemctl enable autofs ***验证:# su - ldapuser11,可以发现用户ldapuser11自动生成了家目录,说明自动挂载成功。


**【第十三题】**创建一个用户alex,uid为3400。这个用户的密码为:redhat 操作步骤: (1)首先创建alex用户:# useradd -u 3400 alex (2)设置用户的密码:# echo redhat | passwd --stdin alex


**【第十四题】**为你的系统上额外添加一个大小为512M的交换分区,这个交换分区在系统启动的时候应该能自动挂载。不要移除和更改你系统上现存的交换分区。 操作步骤: (1)首先查询系统的分区情况:# lsblk,由于系统已经有了3个分区,所以第四个建议创建扩展分区,并在扩展分区上创建逻辑分区。 (2)首先进入分区创建:# fdisk /dev/sda,然后输入: p -----------(打印) n -----------(创建一个新的扩展分区) e -----------(选择为扩展分区,并两次回车选择默认设置) n -----------(创建一个新的逻辑分区) +512M ----(分区大小为512M) t ------------(改变分区的类型) 5 -----------(选择需要修改的分区号) 82 ----------(改变为Swap类型) w------------(保存退出) (3)接着需要将系统分区表的变化通知内核:# partprobe /dev/vda (4)然后需要将分区设置为交换分区类型:# mkswap /dev/vda5 (5)接着需要开机能够自动启动,进入配置文件:# vim /etc/fstab,并且写上如下一行: /dev/vda5 swap swap defaults 0 0 (6)最后需要将swap分区手动启动一下:# swapon -a ***验证:***在命令行输入:# swapon -s,如果有出现/dev/vda5则说明512M的交换分区挂载成功。


**【第十五题】**找出所有所有者是ira的文件,并把它们拷贝到/root/findresults目录。 操作步骤: (1)首先将题目要求的文件夹创建出来:# mkdir /root/findresults (2)将需要查找出的文件放入文件夹中,注意使用分号结束:# find / -user ira -exec cp -a {} /root/findresults/ ; ***验证:***输入命令:# ls -l /root/findresults,看到属主为ira,即说明已经将所有者为ira的文件拷贝到了对应的目录下了。


*【第十六题】在/usr/share/dict/words中找出所有包含seismic的行。复制所有这些行并按照原来的顺序放在文件/root/lines中。/root/lines应该没有空白行,所有的行必须是/usr/share/dict/words中原有的行的精确复制。 操作步骤: (1)首先将符合条件的行找出来并且重定向到对应的文件中:# grep seismic /usr/share/dict/words > /root/lines ***验证:# cat /root/lines即可发现都是包含seismic的行。


**【第十七题】**创建名为/root/backup.tar.bz2的备份文件,其中包含/usr/local的内容,tar必须使用bzip2压缩。 操作步骤: (1)首先进入需要将其压缩备份的文件夹内:# cd /usr/local (2)如果没有bzip2类型的压缩格式,那么安装起来即可:# yum inStall bzip2 -y (3)因为需要创建的文件是bzip2类型,所以将文件夹内的文件全部压缩:# tar jcvf /root/backup.tar.bz2 * ***验证:***此时在家目录中便可以看到一个:backup.tar.bz2的文件,说明创建备份文件成功。


**【第十八题】**按照下面的要求创建一个新的逻辑卷:(a)逻辑卷命名为database,属于卷组datastore,且大小为50个扩展;(b)在卷组datastore的逻辑卷每个扩展的大小为16MiB;(c)使用vfat格式化这个新的逻辑卷,此逻辑卷在系统启动的时候应该能自动挂载到/mnt/database。 操作步骤: (1)首先需要查看一下当前的分区状况:# lsblk,发现创建逻辑分区比较合适,逻辑卷的大小至少为50*16=800M,所以卷组的大小设置为1G比较合适。 (2)输入如下的命令进入分区创建状态:# fdisk /dev/vda,然后键入: p --------(打印当前分区的情况) n --------(创建一个新的分区) +1G ----(分区大小设为1G) t ---------(转换分区类型) 6 --------(选择第六个分区) 8e ------(设置为LVM逻辑卷类型) w --------(保存退出) (3)最后将系统分区表的变化通知内核:# partprobe /dev/vda (4)首先创建物理卷:# pvcreate /dev/vda6 (5)然后创建卷组:# vgcreate -s 16 datastore /dev/vda6,创建的卷组大小为16M,卷组名为datastore (6)最后创建逻辑卷:# lvcreate -l 50 -n database datastore,卷组是50个扩展,并且逻辑卷名为database,由卷组datastore创建而来。 (7)此时还需要格式化这个新的逻辑卷,并且需要确保vfat格式可用:# yum whatprovides */mkfs.vfat (8)将对应格式的软件包安装起来:# yum inStall dosfstools-3.0.20-9.el7.x86_64 -y (9)最后格式化这个新的逻辑卷:# mkfs.vfat /dev/datastore/database (10)因为需要在开机的时候能够自动挂载,所以先创建对应的文件目录:# mkdir /mnt/database (11)编辑开机自动挂载文件:# vim /etc/fstab,然后在配置文件中写上:/dev/datastore/database /mnt/database vfat defaults 0 0一行即可。 ***验证:***首先输入:# mount -a重新挂载一下文件系统,然后查询挂载情况:# df -hT,发现已经挂载成功了。


**【第十九题】**系统环境:我们操作的系统为RHEL7.0系统,其中第一台机器主机名:system1,IP address:192.168.122.100,Netmask:255.255.255.0,第二台机器主机名:system2,IP address:192.168.122.200,Netmask:255.255.255.0,Gateway:192.168.122.1,NameServer:192.168.122.10,Root密码:redhat (a)配置SELinux,SELinux必须在两个系统system1和system2中运行于Enforcing模式。 操作步骤: (1)由于系统的yum源没有配置,所以先进入system1机器上的yum文件夹下:# cd /etc/yum.repos.d (2)然后创建yum配置文件:# vim aa.repo [aa] name=aa baseurl=ftp://server.rhce.cc/dvd enabled=1 gpgcheck=0 (3)把system1上配置好的yum源文件拷贝到system2系统上:# scp /etc/yum.repos.d/aa.repo system2:/etc/yum.repos.d/ (4)打开SELinux配置文件:vim /etc/selinux/config (5)然后更改配置文件:SELINUX=enforcing (6)修改当前系统的SELinux配置为enforcing模式:# setenforce 1,如上所有的配置同样都在system1和system2上都操作一遍即可。


**【第二十题】**配置SSH访问,按以下要求配置SSh访问:(a)用户能够从域rhce.cc的客户端通过SSH远程访问您的两个虚拟机系统;(b)在域my133.org内的客户端不能访问您的两个虚拟机系统。 操作步骤: (1)首先在system1机器上编辑允许远程访问的配置文件:# vim /etc/hosts.allow (2)由于需要用户能够从rhce,cc的客户端通过SSH远程访问系统,故添加如下一行: sshd : 192.168.122.0/255.255.255.0 (3)接着在system1机器上编辑禁止远程访问的配置文件:# vim /etc/hosts.deny (4)由于在域my133.org内的客户端不能访问系统,故添加如下一行: sshd : .my133.org (5)将system1上配置的文件拷贝到system2机器上:# scp /etc/hosts.allow /etc/hosts.deny system2:/etc/ 注意:添加的一行信息为域名解析的IP地址,同时子网掩码需要写全:255.255.255.0,不能用数字24替代。


**【第二十一题】**自定义用户环境,在系统system1和system2上创建自定义命令名为qstat此自定义命令将执行以下命令:/bin/ps-Ao pid,tt,user,fname,rsz此命令对系统中所有 用户有效。 操作步骤: (1)首先在system1机器上编辑配置文件:# vim /etc/bashrc (2)可以在配置文件的末行加上一句: alias qstat='/bin/ps-Ao pid,tt,user,fname,rsz' (3)然后将文件立即生效:# source /etc/bashrc (4)最后在system2机器上做相同的配置即可。 ***验证:***在命令行执行如下命令:# qstat,可以查看到命令正常执行,说明自定义用户环境的任务完成了。


**【第二十二题】**配置端口转发,在系统system1配置端口转发,要求如下:在192.168.122.0/24网络中的系统,访问system1的本地端口5423将被转发到80,此设置必须永久有效。 操作步骤: (1)因为需要配置端口转发,即配置防火墙的富规则,可以通过找模板的方式处理:# man -k firewall (2)然后找到firewalld.richlanguage这一项:# man firewalld.richlanguage,然后进行搜索查找:/EXAMPLES,找到模板Example 3和Example 5 (3)然后写防火墙的富规则,当访问system1的本地端口5423将被转发到80:# firewall-cmd --add-rich-rule ' rule family="ipv4" source address="192.168.122.0/24" forward-port to-port="80" protocol="tcp" port="5423" ' (4)此设置必须永久有效:# 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之间按以下要求配置一个链路:(a)此链路使用eth1和eth2;(b)此链路在一个接口失效时仍然能工作;(c)此链路在system1使用下面的地址172.16.11.25/255.255.255.0;(d)此链路在system2使用下面的地址172.16.11.35/255.255.255.0;(e)此链路在系统重启之后依然保持正常状态。 操作步骤: (1)因为需要配置聚合链路,所以首先可以去system1机器上找模板:# cd /usr/share/doc/teamd-1.9/example_ifcfgs/1/ (2)将如下文件夹中的3个文件拷贝到网络配置的文件夹中:# cp * /etc/sysconfig/network-scripts/ (3)进入到网络配置文件夹中:# cd /etc/sysconfig/network-scripts/ (4)在system1机器上编辑第一个配置文件:# vim ifcfg-team_test0 DEVICE="team_tset0" NAME=team_test0 DEVICETYPE="Team" ONBOOT="yes" BOOTPROTO=none NETMASK=255.255.255.0 IPADDR=172.16.11.25 TEAM_CONFIG='{"runner":{"name":"activebackup"}}' (5)在system1机器上编辑第二个配置文件:# vim ifcfg-eth1 DEVICE="eth1" NAME=eth1 DEVICETYPE="TeamPort" ONBOOT="yes" TEAM_MASTER="team_test0" (6)在system1机器上编辑第三个配置文件:# vim ifcfg-eth2 DEVICE="eth2" NAME=eth2 DEVICETYPE="TeamPort" ONBOOT="yes" TEAM_MASTER="team_test0" (7)接着重启服务即可:# systemctl restart network (8)在system1的network-scripts文件夹下,将配置的文件拷贝到system2的机器上:# scp ifcfg-eth1 ifcfg-eth2 ifcfg-team_test0 system2:/etc/sysconfig/network-scripts/ (9)在system2机器上编辑第一个配置文件:# vim ifcfg-team_test0 DEVICE="team_tset0" NAME=team_test0 DEVICETYPE="Team" ONBOOT="yes" BOOTPROTO=none NETMASK=255.255.255.0 IPADDR=172.16.11.35 TEAM_CONFIG='{"runner":{"name":"activebackup"}}' (10)最后重启两台机器的服务即可:# systemctl restart network ***验证:***在system1机器上操作:# ping 172.16.11.35,并在system2机器上操作:# ping 172.16.11.25都可以正常的通信,表明配置的聚合链路生效了。


**【第二十四题】**配置IPv6地址,在你的系统上配置接口eth0使用下列IPv6地址:(a)system1上的地址应该是200e:ac18::e0a/64;(b)system2上的地址应该是200e:ac18::e14/64;(c)两个系统必须能与网络200e:ac18/64内的系统通信。(d)地址必须在重启后依旧生效。(e)两个系统必须保持当前的IPv4地址并能通信。 操作步骤: (1)首先在system1上查看一下名称和设备各均为eth0:# nmcli connection (2)将system1设置为auto:# nmcli connection modify eth0 ipv6.method auto (3)接着设置IP地址:# nmcli connection modify eth0 ipv6.addresses 200e:ac18::e0a/64 (4)接着将system1设置为manual:# nmcli connection modify eth0 ipv6.method manual (5)在system2上就行同样的操作:# nmcli connection modify eth0 ipv6.method auto (6)# nmcli connection modify eth0 ipv6.addresses 200e:ac18::e14/64 (7)# nmcli connection modify eth0 ipv6.method manual (8)最后重启网络:# systemctl restart network ***验证:***在system1机器上ping第二台机器system2:# ping6 200e:ac18::e14,并且反过来在system2上验证:# ping6 200e:ac18::e0a


**【第二十五题】**配置本地邮件服务,在系统system1和system2上配置邮件服务,满足以下要求:(a)这些系统不接收外部发送来的邮件;(b)在这些系统上本地发送的任何邮件都会自动路由到rhgls.rhce.cc;(c)从这些系统上发送的邮件显示来自于rhce.cc;(d)您可以通过发送邮件到本地用户'dave'来测试您的配置,系统rhgls.rhce.cc已经配置把此用户的邮件转到下列URL:http://rhgls.rhce.cc/received_mail/11 操作步骤: (1)首先可以在system1机器的防火墙中work zone添加允许所有的邮件通过:# firewall-cmd --add-service=smtp (2)并且将配置写入持久态:# firewall-cmd --add-service=smtp --permanent (3)进入邮件配置文件夹:# cd /etc/postfix (4)编辑配置文件:# vim main.cf (5)题中要求系统不接收来自外部的邮件,所以修改:'mydestination = ' (6)如果接受了来自外部的邮件,则先在系统中查找关键字:# postconf | grep transp (7)找到'local_transport'关键字后,接着让系统给出一个报错:# postconf -e local_transport=err:xxxxx (7)由于需要本地发送的任何邮件都会自动路由到rhgls.rhce.cc,所以在配置文件中修改:relayhost = [rhgls.rhce.cc] (8)在系统上发送的邮件显示来自于rhce.cc,所以修改:myorigin = rhce.cc (9)在system1上做完以上的配置后,再在system2机器上进行同样的配置:# scp /etc/postfix/main.cf system2:/etc/postfix/ (10)最后重启邮件服务器即可:# systemctl restart postfix 验证: (1)首先在system1机器上安装mail客户端:# yum inStall mailx -y (2)然后发送一封邮件给已经配置好的本地用户:# echo aaaaaa | mail -s 'aaaa' dave (3)然后再浏览器中打开下列URL:http://rhgls.rhce.cc/received_mail/11 ,即可发现邮件已经可以正常的接收了,同样的测试在system2机器上操作一次。


**【第二十六题】**通过SMB共享目录,在system1上配置SMB服务:(a)您的SMB服务器必须是STAFF工作组的一个成员;(b)共享/common目录,共享名必须为common;(c)只有rhce.cc域内的客户端可以访问common共享;(d)common必须是可以浏览的;(e)用户andy必须能够读取共享中的内容,如果需要的话,验证的密码是:redhat 操作步骤: (1)首先把服务安装起来:# yum inStall samba -y (2)编辑配置文件:# vim /etc/samba/smb.conf (3)由于SMB服务器必须是STAFF工作组的一个成员,所以修改配置文件:workgroup = STAFF (4)由于共享/common目录,所以先创建目录:# mkdir /common (5)在samba服务中每创建一个文件都需要修改上下文:# chcon -R -t samba_share_t /common (6)由于具体的访问控制是在配置文件中设置的,所以在防火墙work zone中允许所有的数据包通过:# firewall-cmd --add-service=samba (7)并且将配置写入持久态:# firewall-cmd --add-service=samba --permanent (8)继续编辑配置文件:# vim /etc/samba/smb.conf (9)在最后一行添加如下内容: [common] path = /common hosts allow = 192.168.122.0/24 (10)由于发现:# id andy,用户不存在,所以创建用户:# useradd andy (11)给创建的用户设置密码:# echo redhat | passwd --stdin andy (12)因为后续验证时需要在system2机器上测试samba服务,但是软件包并没有安装,查询需要在system2机器上安装的软件包:# yum whatprovides */smbclient (13)在system2机器上将软件包安装起来:# yum inStall samba-client -y (14)然后添加samba用户:# smbpasswd -a andy (15)然后输入:#pdbedit -L,发现andy用户已经添加到samba域里了。 (16)最后在system1机器上启动服务:# systemctl start smb (17)并将服务加入开机启动项:# systemctl enable smb 验证: (1)在system2机器上验证samba服务是否配置成功:# smbclient -L //system1 -U andy%redhat (2)接着查看用户是否可以登录common目录:# smbclient //system1//common -U andy%redhat


**【第二十七题】**配置多用户SMB挂载,在system1共享通过SMB目录/miscellaneous满足以下要求:(a)共享名为miscellaneous;(b)共享目录miscellaneous只能被rhce.cc域中的客户端使用;(c)共享目录miscellaneous必须可以被浏览;(d)用户silene必须能以读的方式访问此共享,访问密码是redhat;(e)用户akira必须能以读写的方式访问此共享,访问密码是redhat;(f)此共享永久挂载在system2.rhce.cc上的/mnt/multi目录,并使用用户silene作为认证,任何用户可以通过akira来临时获取写的权限。 操作步骤: (1)首先在system1机器上创建题目要求的目录:# mkdir /miscellaneous (2)同时需要修改目录文件的上下文:# chcon -R -t samba_share_t /miscellaneous (3)接着编辑samba的配置文件:vim /etc/samba/smb.conf [miscellaneous] path = /miscellaneous hosts allow = 192.168.122.0/24 writable = no write list = akira (4)同时需要将目录的其他用户设置可写的权限:# chmod o+w /miscellaneous/ (5)创建silene和akira用户: # useradd silene # useradd akira (6)并且给用户设置密码: # echo redhat | passwd --stdin silene # echo redhat | passwd --stdin akira (7)然后将用户加入到samba服务中: # smbpasswd -a silene # smbpasswd -a akira (8)然后在system1机器上重启服务:# systemctl restart smb.service (9)然后在system2机器上测试silene用户是否可以登录samba共享:# smbclient //system1/miscellaneous -U silene%redhat,发现可以登录samba共享,使用silene用户创建目录:# mkdir aa,发现没有权限创建目录。 (10)接着在system2机器上测试akira用户是否可以登录samba共享:# smbclient //system1/miscellaneous -U akira%redhat,发现可以登录samba共享,使用akira用户创建目录:# mkdir bb,发现有权限创建文件目录。 (11)由于需要将samba共享永久挂载在system2机器上,所以先创建好所需的目录:# mkdir /mnt/multi,并编辑挂载配置文件:# vim /etc/fstab (12)然后添加如下的一行: //system1/miscellaneous /mnt/multi cifs defaults,username=silene,password=redhat,multiuser,sec=ntlmssp 0 0 (13)由于是多用户挂载,所以需要安装cifs软件包:# yum inStall cifs-u* -y (14)然后重置挂载的配置文件:# mount -a (15)接着输入:# df -hT,发现已经挂载成功了。 验证: (1)首先在system2机器上创建多个测试用户: # useradd tom1 # useradd tom2 # useradd tom3 (2)首先在system2机器上切换到tom1用户:# su - tom1,然后进入到创建好的目录中:# cd /mnt/multi (3)先使用silene用户测试:# cifscreds add system1 -u silene,接着测试:# touch ssss,发现没有创建文件的权限。 (4)然后在system2机器上切换到tom2用户:# su - tom2,并且进入到创建好的目录中:# cd /mnt/multi (5)再使用akira用户测试:# cifscreds add system1 -u akira,接着测试:# mkdir bbbb,发现可以正常的创建目录。所以实现了此共享挂载在system2对应的目录上,并且对应的用户拥有各自的权限了。


**【第二十八题】**配置NFS服务,在system1配置NFS服务,要求如下:(a)以只读的方式共享目录/public同时只能被rhce.cc域中的系统访问;(b)以读写的方式共享目录/protected能被rhce.cc域中的系统访问;(c)访问/protected需要通过Kerberos安全加密,您可以使用下面URL提供的密钥http://host.rhce.cc/materials/nfs_server.keytab ;(d)目录/protected应该包含名为confidential拥有人为ldapuser11的子目录;(e)用户ldapuser11能以读写方式访问:/protected/confidential 操作步骤: (1)因为system1需要配置NFS服务,所以首先启动服务:# systemctl start nfs-server (2)然后还要设置开机自动启动:# systemctl enable nfs-server (3)由于system1只能被rhce.cc域中的系统访问,所以设置防火墙富规则:# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.122.0/24" service name="nfs" accept' (4)并且写入持久态,使重启后仍然生效:# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.122.0/24" service name="nfs" accept' --permanent (5)# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.122.0/24" service name="rpc-bind" accept' (6)# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.122.0/24" service name="rpc-bind" accept' --permanent (7)# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.122.0/24" service name="mountd" accept' (8)# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.122.0/24" service name="mountd" accept' --permanent (9)接着在system1上创建public目录:# mkdir /public (10)在system1上编辑配置文件:# vim /etc/exports,然后添加如下的一行:/public *(ro,sync),并将修改内容生效:# exportfs -arv(如图28-6和28-7) (11)接着在system2机器上测试NFS是否生效:# showmount -e system1,然后挂载system1的目录:# mount system1:/public /mnt (12)然后在system1上创建protected目录:# mkdir /protected (13)在system1上编辑配置文件:# vim /etc/exports,然后添加如下的一行:/protected *(rw,sync),并将修改内容生效:# exportfs -arv(如图28-10和28-11) (14)因为访问protected需要通过Kerberos安全加密:# wget -O /etc/krb5.keytab http://host.rhce.cc/materials/nfs_server.keytab (15)因为配置了安全加密,所以需要修改配置文件:# vim /etc/exports,修改为:/protected *(rw,sync,sec=krb5p),并且重新生效配置:# exportfs -arv(如图28-13和28-14) (16)由于system1上配置了安全加密,所以也要修改system1配置文件:# vim /etc/sysconfig/nfs,修改如下配置'PRCNFSDARGS="-V 4.2"'强制使用4.2版本。 (17)由于system1配置了4.2版本,所以需要修改protected目录的上下文:# chcon -R -t public_content_t /protected/ (18)在system1上创建confidential目录:# mkdir /protected/confidential,并再次修改上下文:# chcon -R -t public_content_t /protected/ (19)然后修改目录的属主信息:# chown ldapuser11 /protected/confidential (20)最后system1需要重启nfs-server服务:# systemctl restart nfs-server.service,接着还要重启:# systemctl restart nfs-secure-server,并加入开机启动项:# systemctl enable nfs-secure-server


**【第二十九题】**挂载一个NFS共享,在system2上挂载一个来自system1.rhce.cc的NFS共享,并符合下列要求:(a)/public挂载在下面的目录上/mnt/nfsmount;(b)/protected挂载在下面的目录上/mnt/nfssecure并使用安全的方式,密钥下载URL如下:http://host.rhce.cc/materials/nfs_client.keytab ;(c)用户ldapuser11能够在/mnt/nfssecure/confidential上创建文件;(d)这些文件系统在系统启动时自动挂载。 操作步骤: (1)在system2机器上操作,首先需要验证NFS是否有挂载成功:# showmount -e system1 (2)创建nfsmount目录:# mkdir /mnt/nfsmount (3)编辑fstab配置文件:# vim /etc/fstab (4)在配置文件中添加如下一行信息:system1.rhce.cc:/public /mnt/nfsmount nfs defaults 0 0,并且重启挂载:# mount -a,测试已经挂载成功了:# df -hT(如图29-3和29-4) (5)创建nfssecure目录:# mkdir /etc/nfssecure (6)并且需要使用安全的方式:# wget -O /etc/krb5.keytab http://host.rhce.cc/materials/nfs_client.keytab (7)因为system2使用了安全的方式,所以需要启动如下服务:# systemctl start nfs-secure (8)并将服务加入开机启动项中:# systemctl enable nfs-secure (9)此时进行挂载,编辑fstab配置文件:# vim /etc/fstab (10)在配置文件中添加如下一行信息:system1.rhce.cc:/protected /mnt/nfssecure nfs defaults,v4.2,sec=krb5p 0 0,并重新启动挂载:# mount -a,然后测试挂载已经成功了:# df -hT 验证: (1)由于用户ldapuser11能够在挂载的目录上创建文件,在system1机器上操作:# ssh ldapuser11@system2.rhce.cc -X,因为配置的时候是基于Kerberos进行安全加密的,所以使用SSH的方式登录的时候就可以基于Kerberos进行认证。 (2)登录到confidential目录:# cd /mnt/nfssecure/confidential,此时用户ldapuser11就能够在confidential目录上创建文件了:# touch aaa


**【第三十题】**配置web站点,system1上配置一个站点http://system1.rhce.cc 然后执行下述步骤:(a)从http://rhgls.rhce.cc/materials/station.html 下载文件,并且将文件重命名为index.html不要修改此文件的内容;(b)将文件index.html拷贝到您的web服务器的DocumentRoot目录下;(c)来自于rhce.cc域的客户端可以访问此Web服务;(d)来自于my133t.org域的客户端拒绝访问此Web服务。 操作步骤: (1)首先安装Web服务:# yum groupinStall web* -y (2)接着将服务启动起来:# systemctl start httpd (3)并将服务加入开机启动项:# systemctl enable httpd (4)编辑配置文件:# vim /etc/httpd/conf/httpd.conf (5)修改ServerName的一行:ServerName system1.rhce.cc:80 (6)下载文件,并且将文件重命名为index.html:# wget -O /var/www/html/index.html http://rhgls.rhce.cc/materials/station.html (7)由于来自rhce.cc域的客户端可以访问此Web服务,所以设置防火墙:# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.122.0/24" service name="http" accept' (8)并且将防火墙的Web规则写入持久态:# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.122.0/24" service name="http" accept' --permanent (9)最后将服务重启:# systemctl restart httpd.service 注意: (1)有时候重启服务器之后,使用域名就无法正常访问了,所以可以在hosts配置文件中解决:# vim /etc/hosts (2)为使重启Web服务后,仍然可以正常的使用域名访问,在配置文件中添加一行: 192.168.122.100 system1.rhce.cc system1 ***验证:***打开浏览器,输入:system1.rhce.cc,可以正常访问,说明Web站点配置成功。


**【第三十一题】**配置安全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 获取。 操作步骤: (1)因为需要配置安全web服务,所以先进入目录:# cd /etc/httpd/conf (2)先将第一个文件下载到本地:# wget http://host.rhce.cc/materials/system1.crt (3)将第二个文件也下载到本地:# wget http://host.rhce.cc/materials/system1.key (4)将第三个文件也下载到本地:# wget http://host.rhce.cc/materials/domain11.crt (5)编辑Web服务中的安全配置文件:# vim /etc/httpd/conf.d/ssl.conf (6)修改配置文件中的如下各行信息: SSLCertificateFile /etc/httpd/conf/system1.crt SSLCertificateKeyFile /etc/httpd/conf/system1.key SSLCertificateChainFile /etc/httpd/conf/domain11.crt (7)接下来重启Web服务:# systemctl restart httpd (8)此时还要将https写入防火墙富规则中:# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.122.0/24" service name="https" accept' (9)并且还要将https写入防火墙规则的持久态中:# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.122.0/24" service name="https" accept' --permanent ***验证:***打开浏览器,输入:https://system1.rhce.cc ,发现可以正常的访问,说明安全Web服务配置完成。(如图31-6至图31-8)


**【第三十二题】**配置虚拟主机,在system1上扩展您的web服务器,为站点http://www.rhce.cc 创建一个虚拟主机,然后执行下述步骤:(a)设置DocumentRoot为/var/www/virtual;(b)从http://rhgls.rhce.cc/materials/www.html 下载文件并重命名为index.html不要对文件index.html的内容做任何修改;(c)将文件index.html放到虚拟主机的DocumentRoot目录下,确保andy用户能够在/var/www/virtual目录下创建文件。注意:原始站点http://system1.rhce.cc 必须仍然能够访问,名称服务器rhce.cc提供对主机名www.rhce.cc 的域名解析。 操作步骤: (1)首先编辑配置文件:# vim /etc/hosts (2)在配置文件中添加如下的一行信息: 192.168.122.100 www.rhce.cc www (3)创建DocumentRoot目录:# mkdir /var/www/virtual (4)下载文件:# wget -O /var/www/virtual/index.html http://rhgls.rhce.cc/materials/www.html (5)确保andy用户能够在此目录下创建文件:# setfacl -m u:andy:rwx /var/www/virtual/ (6)由于需要配置虚拟主机,所以可以使用模板:# cp /usr/share/doc/httpd-2.4.6/httpd-vhosts.conf /etc/httpd/conf.d/vhost.conf (7)编辑新生成的vhost文件:# 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> (8)最后将服务重启一下:# systemctl restart httpd 验证: (1)在浏览器中输入:www.rhce.cc ,发现可以正常访问。 (2)在浏览器中输入:http://system1.rhce.cc ,发现可以正常访问。 (3)在浏览器中输入:https://system1.rhce.cc ,发现可以正常访问,说明虚拟主机配置成功。


**【第三十三题】**配置web内容的访问,在您的system1上的web服务器的DocumentRoot目录下创建一个名为secret的目录,要求如下:(a)从http://rhgls.rhce.cc/materials/private.html 下载一个副本到这个目录,并且重命名为index.html。(b)不要对这个文件的内容做任何修改。(c)从system1上,任何人都可以浏览secret的内容,但是从其它系统不能访问这个目录的内容。 操作步骤: (1)由于需要在system1上的web服务器创建secret目录,所以创建:# mkdir /var/www/html/secret /var/www/virtual/secret (2)将副本下载到这个html目录:# wget -O /var/www/html/secret/index.html http://rhgls.rhce.cc/materials/private.html (3)将副本下载到这个virtual目录:# wget -O /var/www/virtual/secret/index.html http://rhgls.rhce.cc/materials/private.html (4)由于secret目录只允许本机的用户可以访问,所以在配置文件中:# vim /etc/httpd/conf/httpd.conf中找到如下模板信息: <Directory "/var/www"> AllowOverride None # Allow open access: Require all granted </Directory> (5)接着根据模板信息编辑vhost配置文件:# vim /etc/httpd/conf.d/vhost.conf <Directory "/var/www/html/secret"> AllowOverride None Require local </Directory> <Directory "/var/www/virtual/secret"> AllowOverride None Require local </Directory> (6)最后重启服务:# systemctl restart httpd 验证: (1)在system1机器上操作:# curl -s www.rhce.cc/secret/index.html ,发现可以正常访问。 (2)在system1机器上操作:# curl -s system1.rhce.cc/secret/index.html ,发现可以正常访问。 (3)在system2机器上操作:# curl -s www.rhce.cc/secret/index.html ,发现无法正常访问。 (4)在system2机器上操作:# curl -s system1.rhce.cc/secret/index.html ,发现无法正常访问。


**【第三十四题】**实现动态Web内容,在system1上配置提供动态Web内容,要求如下:(a)动态内容有名为dynamic.rhce.cc的虚拟主机提供,虚拟主机侦听在端口8998;(b)从http://rhgls.rhce.cc/materials/webapp.wsgi 下载一个脚本,然后放在适当的位置,无论如何不要求修改此文件的内容;(c)客户端访问http://dynamic.rhce.cc:8998/ 时,应该接收到动态生成的web页面;(d)此http://dynamic.rhce.cc:8998/ 必须能被rhce.cc域内的所有系统访问。 操作步骤: (1)首先确认动态主机的IP:# ping dynamic.rhce.cc,发现IP地址为:192.168.122.100 (2)编辑system1机器上的配置文件:# vim /etc/hosts,并添加如下的一行信息: 192.168.122.100 dynamic.rhce.cc dynamic (3)由于虚拟主机侦听在端口8998,所以需要设置防火墙的富规则:# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.122.0/24" port protocol="tcp" port="8998" accept' (4)并将防火墙规则写入持久态:# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.122.0/24" port protocol="tcp" port="8998" accept' --permanent (5)接下来还要在配置文件中开放端口8998:# vim /etc/httpd/conf/httpd.conf,添加如下一行信息: Listen 8998 (6)接着进入vhost配置文件:# vim /etc/httpd/conf.d/vhost.conf <VirtualHost dynamic.rhce.cc:8998> DocumentRoot /var/www/html/yy ServerName dynamic.rhce.cc WSGIScriptAlias / /var/www/html/yy/webapp.wsgi </VirtualHost> (7)创建第六步在配置文件中定义的目录:# mkdir /var/www/html/yy (8)由于需要实现动态web,所以安装对应的软件包:# yum inStall mod_wsgi -y (9)将下载的脚本放到第七步创建的目录下:# wget -P /var/www/html/yy http://rhgls.rhce.cc/materials/webapp.wsgi (10)由于在第六步中配置了端口,所以需要修改端口的上下文,首先需要找到模板:# vim /etc/ssh/sshd_config,找到如下一行: semanage port -a -t ssh_port_t -p tcp #PORTNUMBER (11)确认需要安装semanage软件包的名称:# yum whatprovides */semanage (12)并将软件包安装起来:# yum inStall policycoreutils-python-2.2.5-11.el7.x86_64 -y (13)然后执行修改上下文的命令:# semanage port -a -t http_port_t -p tcp 8998 (14)重启Apache服务器:# systemctl restart httpd 验证: (1)在浏览器输入:http://system1.rhce.cc ,发现正常访问。 (2)在浏览器输入:https://system1.rhce.cc ,发现正常访问。 (3)在浏览器输入:www.rhce.cc ,发现正常访问。 (4)在浏览器输入:dynamic.rhce.cc:8998,发现正常访问。


**【第三十五题】**创建一个脚本,在system1上创建一个名为/root/script的脚本,让其提供下列特性:(a)当运行/root/script foo,输出为bar;(b)当运行/root/script bar,输出为foo;(c)当没有任何参数或者参数不是foo或者bar时,其错误输出产生以下的信息:/root/script foo|bar 操作步骤: (1)首先在system1机器上创建一个脚本:# vim script (2)然后添加如下脚本信息: #! /bin/bash case $1 in foo) echo bar ;; bar) echo foo ;; *) echo '/root/script foo|bar' ;; esac (3)然后给脚本加上可执行权限:# chmod +x /root/script 验证: (1)执行:# ./script afa,得到了结果:/root/script foo|bar (2)执行:# ./script foo,得到了结果:bar (3)执行:# ./script bar,得到了结果:foo


**【第三十六题】**创建一个添加用户的脚本,在system1上创建一个脚本,名为/root/mkusers,此脚本能实现为系统system1创建本地用户,并且这些用户的用户名来自一个包含用户名列表的文件。同时满足下列要求:(a)此脚本要求提供一个参数,此参数就是包含用户名列表的文件;(b)如果没有提供参数,此脚本应该给出下面的提示信息Usage:/root/mkusers然后退出并返回相应的值;(c)如果提供一个不存在的文件名,此脚本应该给出下面的提示信息Input file not found然后退出并返回相应的值;(d)创建的用户登录shell为/bin/false;(e)此脚本不需要为用户设置密码;(f)您可以从下面的URL获取用户名列表作为测试用:http://rhgls.rhce.cc/materials/userlist 操作步骤: (1)首先在system1机器上创建一个脚本:# vim /root/mkusers (2)然后添加如下脚本信息: #! /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 (3)下载用户列表文件:# wget http://rhgls.rhce.cc/materials/userlist (4)chmod +x /root/mkusers 验证: (1)执行:# ./mkusers,得到了结果:Usage:/root/mkusers (2)执行:# ./mkusers afafaf,得到了结果:Input file not found (3)执行:# ./mkusers userlist,正常执行了脚本,并且验证发现新用户已经创建:# id lisi


**【第三十七题】**配置iSCSI服务端,配置system1提供一个iSCSI服务,磁盘名为iqn.2014-09.com.example.domain11:system1,并符合下列要求:(a)服务端口为3260;(b)使用iscsi_vol作其后端卷,大小为3G;(c)此服务只能被system2.rhce.cc访问。 操作步骤: (1)首先应该在system1机器上将服务的软件包安装起来:# yum inStall target* -y (2)接着启动服务:# systemctl start target (3)并将服务加入开机启动项:# systemctl enable target (4)由于使用的后端卷大小为3G,所以创建:# fdisk /dev/vda,然后输入: p --------(打印当前的分区情况) n --------(创建一个新的分区) p --------(创建一个主分区) +3G ----(创建一个3G大小的主分区) w --------(保存退出) (5)最后还需要将system1修改的配置同步更新一下:# partprobe /dev/vda (6)进入配置iSCSI服务的界面:# targetcli,然后输入: /> ls / -----------------------------------------------------------------------------(列出所有的卷信息) /> /backstores/block create iscsi_vol /dev/vda4 -----------------------(将磁盘中创建的第四个分区设置为iscsi_vol) /> /iscsi create iqn.2014-09.com.example.domain11:system1 ----(在iscsi目录下设置卷的磁盘名信息) /> cd /iscsi/iqn.2014-09.com.example.domain11:system1/tpg1 ---(进入到配置的目录中) /> acls/ create iqn.2014-09.com.example.domain11:xx -------------(设置acls访问控制列表的名称) /> luns/ create /backstores/block/iscsi_vol ----------------------------- (创建逻辑单元号) /> portals/ create 0.0.0.0 3260 ---------------------------------------------(设置iSCSI的服务端口为3260) /> exit ---------------------------------------------------------------------------- (退出设置) (7)由于要求只能被system2访问,所以设置防火墙端口的富规则:# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.122.200/24" port protocol="tcp" port="3260" accept' (8)并将防火墙的设置写入持久态:# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.122.200/24" port protocol="tcp" port="3260" accept' --permanent,此时iSCSI服务端便配置好了。


**【第三十八题】**配置iSCSI的客户端,配置system2使其能连接在system1的上提供的iqn.2014-09.com.example.domain11:system1并符合以下要求:(a)iSCSI设备在系统启动的期间自动加载;(b)块设备iSCSI上包含一个大小为1700MiB的分区,并格式化为xfs;(c)此分区挂载在/mnt/data上,同时在系统启动的期间自动挂载。 操作步骤: (1)由于需要配置iSCSI客户端,所以在system2机器上安装客户端的软件包:# yum inStall iscsi* -y (2)然后编辑:# vim /etc/iscsi/initiatorname.iscsi,并添加如下的一行信息: InitiatorName=iqn.2014-09.com.example.domain11:xx (3)接着启动客户端的服务:# systemctl start iscsid (4)并且加入开机启动项:# systemctl enable iscsid (5)在系统启动的期间自动发现iSCSI存储:# iscsiadm -m discovery -t st -p system1.rhce.cc -l (6)由于需要在iSCSI上包含一个1700M的分区:# fdisk /dev/sda,输入如下的信息: n -------------(新建一个分区) p -------------(选择创建一个主分区) +1700M ----(分区创建大小为1700M) w -------------(保存退出) (7)最后需要在system2机器上将配置同步更新一下:# partprobe /dev/sda (8)将创建的分区格式化为xfs文件系统:# mkfs.xfs /dev/sda1 (9)在system2机器上创建挂载的目录:# mkdir /mnt/data (10)编辑分区挂载的配置文件:# vim /etc/fstab,并添加如下一行信息: /dev/sda1 /mnt/data xfs defaults,_netdev 0 0 验证: (1)在system2机器上重新挂载所有的分区:# mount -a (2)查看分区挂载的情况:# df -hT


**【第三十九题】**配置一个数据库,在system1上创建一个MariaDB数据库,名为Contacts,并符合以下条件:(a)数据库应该包含来自数据库复制的内容,复制文件的URL为http://rhgls.rhce.cc/materials/users.mdb 。(b)数据库只能被localhost访问。(c)除了root用户,此数据库只能被用户Luigi查询。此用户密码为redhat。(d)root用户的密码为redhat,同时不允许空密码登录。 操作步骤: (1)首先在system1机器上安装MariaDB数据库:# yum inStall mariadb-server mariadb -y (2)接着启动服务:# systemctl start mariadb (3)将服务加入开机启动项中:# systemctl enable mariadb (4)然后进入数据库:# mysql,然后输入如下SQL语句: > show databases; -----------------(显示当前所有的数据库) > create database Contacts; ----(创建一个数据库,命名为Contacts) > quit ----------------------------------(由于接下来需要下载文件,所以退出当前的数据库) (5)因为数据库包含来自数据库复制的内容,所以把文件下载下来:# wget http://rhgls.rhce.cc/materials/users.mdb (6)接着再次进入数据库:# mysql,然后输入如下的SQL语句: > use Contacts; ---------------------------------------------------------------------------(进入到第四步创建的Contacts数据库中) > source /root/users.mdb; --------------------------------------------------------------(将下载的文件生效到数据库中) > show tables; -----------------------------------------------------------------------------(显示当前数据库中所有的数据表文件) > grant select on Contacts.* to Luigi@'localhost' identified by 'redhat'; ----(设置数据库只能被localhost访问,数据库只能被Luigi查询,且设置好密码) > set password=password('redhat'); -------------------------------------------------(设置root用户的登录密码为redhat) ***验证:***此时在system1机器上操作:# mysql -uroot -predhat,才可以正常登录系统,说明配置生效。


**【第四十题】**数据库查询,在系统system1上使用数据库Contacts,并使用相应的SQL查询以回答下列问题:(a)密码是tangerine的人的名字?(b)有多少人的姓名是John同时居住在Santa Clara? 操作步骤: (1)首先在system1机器上登录数据库:# mysql -uroot -predhat (2)进入mariadb数据库后输入如下: > use Contacts; ----(进入到Contacts数据库) > show tables; -----(显示数据库中所有的数据表) > desc loc; ----------(查看loc数据表的表结构) > desc name; -------(查看name数据表的表结构) > desc pass; --------(查看pass数据表的表结构) > select * from name join pass where name.aid=pass.bid and pass.password='tangerine'; > select count(*) from name join loc where name.aid=loc.cid and name.firstname='John' and loc.loction='Santa Clara';

—————— 本文至此结束,感谢阅读 ——————