【第一题】系统环境:我们操作的系统为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"}}'
(4)在system1机器上编辑第二个配置文件:# vim ifcfg-eth1
DEVICE="eth1"
NAME=eth1
DEVICETYPE="TeamPort"
ONBOOT="yes"
TEAM_MASTER="team_test0"
(5)在system1机器上编辑第三个配置文件:# vim ifcfg-eth2
DEVICE="eth2"
NAME=eth2
DEVICETYPE="TeamPort"
ONBOOT="yes"
TEAM_MASTER="team_test0"
(6)接着重启服务即可:# systemctl restart network
(6)在system1的network-scripts文件夹下,将配置的文件拷贝到system2的机器上:# scp ifcfg-eth1 ifcfg-eth2 ifcfg-team_test0 system2:/etc/sysconfig/network-scripts/
(7)在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"}}'
(8)最后重启两台机器的服务即可:# 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
DocumentRoot /var/www/virtual
ServerName www.rhce.cc
DocumentRoot /var/www/html
ServerName system1.rhce.cc
(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中找到如下模板信息:
AllowOverride None
# Allow open access:
Require all granted
(5)接着根据模板信息编辑vhost配置文件:# vim /etc/httpd/conf.d/vhost.conf
AllowOverride None
Require local
AllowOverride None
Require local
(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
DocumentRoot /var/www/html/yy
ServerName dynamic.rhce.cc
WSGIScriptAlias / /var/www/html/yy/webapp.wsgi
(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';
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Ajax Design Patterns
Michael Mahemoff / O'Reilly Media / 2006-06-29 / USD 44.99
Ajax, or Asynchronous JavaScript and XML, exploded onto the scene in the spring of 2005 and remains the hottest story among web developers. With its rich combination of technologies, Ajax provides a s......一起来看看 《Ajax Design Patterns》 这本书的介绍吧!