红帽认证分为RHCSA与RHCE两场考试,分别是上午一场下午一场,考核的这些内容确实在企业中最常被用到,也很符合市场需求。

一、ROOT密码:redhat(考试根据考试要求设置密码)
破解密码,并将密码设置成redhat:

1、开机后按E ,删除rhgb quiet,写init=/bin/sh 在按Ctrl+x重启
2、mount –o remount,rw /
3、echo redhat | passwd –-stdin root
4、touch /.autorelabel
5、exec /sbin/init

备注:考试时可以systemctl isolate graphical.target

二、设置IP信息

编辑网卡文本:vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
NAME=eth0
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.122.100
NETMASK=255.255.255.0
GATEWAY=192.168.122.1
DNS1=192.168.122.10

三、设置主机名station.rhce.cc
命令:hostnamectl set-name station.rhce.cc

考题:
一、SELinux必须运行在Enforcing模式下

1、查看selinux状态:getenforce
2、把当前状态设置成enforcing:setenforce 1(重启后没有了)
3、修改配置文件:vim /etc/selinux/config 中SELINUX=Enforcing

二、配置YUM源,使用地址ftp://server.rhce.cc/dvd

cd /etc/yum.reops.d 编辑文件aa.repo
[aa]
name=aa
baseurl=ftp://server.rhce.cc/dvd
enabled=1
gpgcheck=0

配置完成后,安装一个程序验证是否正确(例如:yum install vsftpd)

三、调整逻辑卷VO的大小,他的文件系统大小应该为290M。确保这个文件系统的内容仍然完整。注意:分区很少能精确到和要求的大小相同,因此在范围260M和320M之间都是可接受的。

Lvscan 查询逻辑卷大小
扩展逻辑卷大小:lvextend –L +98M /dev/vg0/vo(根据实际情况复制逻辑卷)
查看文件系统大小:df –hT
XFS文件系扩展:xfs_growfs /dev/vg0/vo
EXT4文件系统扩展:resize2fs /dev/vg0/vo

四、创建下面的用户、组和组成员关系:
名字为adminuser的组
用户natasha,使用adminuser作为附属组
用户harry,使用adminuser作为附属组
用户sarah,在系统上不能访问可交互的shell且不是adminuser成员,natasha/harry/sarah密码都是redhat

groupadd adminuser
useradd –G adminuser natasha
useradd –G adminuser harry
useradd –s /sbin/nologin sarah
echo redhat | passwd --stdin natasha
echo redhat | passwd –-stdin harry
echo redhat | passwd –-stdin sarah

五、复制文件/etc/fstab到var/tmp/fstab。配置/var/tmp/fstab的权限如下:
文件/var/tmp/fstab所有者是root,属于root组
文件/var/tmp/fstab不能被任何用户执行
用户natasha可读和可写/var/tmp/fstab,用户harry既不能读也不能写
所有其他用户(现在和将来)具有读/var/tmp/fstab的能力

复制文件:cp /etc/fstab /var/tmp/fstab
setfacl –m u:natasha:rw- /var/tmp/fstab
setfacl –m u:harry:--- /var/tmp/fstab

六、用户natasha必须配置一个cron job当地时间每天14:23运行,执行:/bin/echo hiya

crontab –e –u natasha 编辑文本: 23 14 * * * /bin/echo hiya
检查命令:crontab –l –u natasha

七、创建一个目录/home/admins,使之具有下面的特性:
/home/adminuser所属组为adminuser
这个目录对组adminuser的成员具有可读、可写和可执行。但是不是对其他任何用户(root可以访问系统上所有的文件和目录)
在/home/admins下创建的任何文件所属组自动设置为adminuser

mkdir /home/admins
chgrp adminuser /home/admins
chmod g+w /home/admins
chmod o-rx /home/admins/
chmod g+s /home/admins

八、从http://rhgls.rhce.cc/pub/updates安装合适的内核更新。下面的要求必须满足:
更新的内核作为系统启动的默认内核
原来的内核在系统刚启动的时候仍然可有效和可引导

firefox http://rhgls.rhce.cc/pub/updates &(SSH到考试机时一定要 –X)
rpm -ivh kernel-3.10.0-229.el7.x86_64.rpm

九、系统host.rhce.cc提供了一个LDAP验证服务,你的系统按照下面要求绑定到这个服务:
验证服务的基准DN是dc=rhce,dc=cc
LDAP用于提供账号信息和验证信息连接应该使用位于http://host.rhce.cc/pub/domain11.crt的证书加密。 当正确配置后,ldapuser11可以登录你的系统,但是没有家目录,直到你完成autofs题目ldapuser11的密码是redhat

安装:yum install authconfig-gtk.x86_64
打开图形化界面:authconfig-gtk &
图形化界面选择LDAP, 安装提示软件包
设置DN、服务器、下载CA证书(复制粘贴)
用id ldapuser11验证

十、配置你的系统使它是rhgls.rhce.cc是一个NTP客户

yum install system-config-date –y
system-config-date & 图形化界面设置rhgls.rhce.cc 点击确定

十一、配置autofs自动挂载LDAP用户的家目录,如下要求:
host.rhce.cc(192.168.122.10)使用NFS共享了/home/guest给你的系统,这个文件系统包含了预先设置好的用户ldapuser11的家目录 ldapuser11的家目录是在host.rhce.cc:/home/guests/ldapuser11
ldapuser11的家目录应该自动挂载到本地/home/guest下面的/home/guests/ldapuser11
家目录必须对用户具有可写权限 ldapuser11的密码是’redhat’

yum install autofs –y
vim /etc/auto.master中添加/home/guests /etc/auto.aa
cp /etc/auto.misc /etc/auto.aa
vim /etc/auto.aa中添加:
ldapuser11 -fstype=nfs,rw,vers=3 host.rhce.cc: /home/guests/ldapuser11
重启服务:systemctl restart autofs
设置开机自动启动:systemctl enable autofs
验证题目:su – ldapuser11

十二、创建一个用户alex, uid为3400 。这个用户的密码为redhat

useradd –u 3400 alex
echo redhat | passwd –-stdin alex

十三、为你的系统上额外添加一个大小为512M的交换分区,这个交换分区在系统启动的时候应该自动挂载。不要移除和更改你系统上现存的交换分区
查看分区情况:lsblk

fdisk /dev/sda
创建一个主分区,创建扩展分区,创建交换分区(mkswap /dev/sda swapon –s /dev/sda)
刷新分区表:partprobe
设置自动挂载:vim /etc/fstab /dev/vda5 swap swap defaults 0 0
查看分区:swapon –a swapon –s

十四、找出所有所有者是ira的文件,并把它们拷贝到/root/findresults目录

创建目录:mkdir /root/findresults
查询+拷贝:find / -user ira –exec cp –a {} /root/findresults/ \:

十五、在/usr/share/dict/words中找出所有包含seismic的行。复制这些行并按照原来顺序放在文件/root/lines中。/root/lines应该没有空白行,所有的行必须是/usr/share/dict/words中原行的精确复制。

grep seismic /usr/share/dict/words > /root/lines
cat /root/lines

十六、按照下面的要求创建一个新的逻辑卷:
逻辑卷命名为database,属于卷组datastore,且大小为50个扩展,在卷组datastore的逻辑卷每个扩展的大小为16MB,使用ext3格式化这个新的逻辑卷,此逻辑卷在系统启动的时候应该能自动挂载到/mnt/database

lsblk
fdisk /dev/vda

创建扩展分区,改成逻辑分区(8e)

pvscan
pvcreate /dev/vda6
vgcreate –s 16 datastore /dev/vda6
lvcreate -l 50 –n database datastore
mkfs.vfat /dev/datastore/database(afat格式化)
mkfs.ext4 /dev/datastore/database(ext4格式化)
mkfs.xfs /dev/datastore/database( xfs格式化)

创建目录:/mnt/database vim /etc/fstab /dev/datastore/database /mnt/database vfat(格式根据考试要求) defaults 0 0
检查挂载:mount –a df-hT

十七、初始化:两台服务器设置yum源

[root@system1 ~]# vim /etc/yum.repos.d/yum.repo
[root@system1 ~]# cat /etc/yum.repos.d/yum.repo
[yum]
name=yum
baseurl=ftp://server.rhce.cc/dvd
enabled=1
gpgcheck=0

[root@system1 ~]# yum makecache
[root@system1 ~]# cd /etc/yum.repos.d/
[root@system1 yum.repos.d]# scp yum.repo system2:/etc/yum.repos.d/

十八、配置SELinux 该 SELinux必须在两个系统system1和system2中运行于Enforcing模式

[root@system1 ~]# vim /etc/selinux/config
[root@system1 ~]# cat /etc/selinux/config
SELINUX=enforcing
SELINUXTYPE=targeted
[root@system1 ~]# scp /etc/selinux/config system2:/etc/selinux/
[root@system1 ~]# setenforce 1

十九、配置SSH访问,按以下要求配置SSH访问:
用户能够从域rhce.cc内的客户端通过SSH远程访问您的两个虚拟机系统
在域my133t.org内的客户端不能访问您的两个虚拟机系统

[root@system1 ~]# host rhce.cc // 先查看本机网段
rhce.cc has address 192.168.122.0

[root@system1 ~]# vim /etc/hosts.allow
[root@system1 ~]# cat /etc/hosts.allow
sshd:192.168.122.0/255.255.255.0
[root@system1 ~]# vim /etc/hosts.deny
[root@system1 ~]# cat /etc/hosts.deny
sshd:.my133t.org

[root@system1 ~]# scp /etc/hosts.allow system2:/etc/
[root@system1 ~]# scp /etc/hosts.deny system2:/etc/

二十、自定义用户环境

在系统system1和system2上创建自定义命令名为qstat此自定义命令将执行以下命令:
/bin/ps-Aopid,tt,user,fname,rsz 此命令对系统中所有用户有效。

[root@system1 ~]# alias qstat='/bin/ps -ao pid,tt,user,fname,rsz'
[root@system1 ~]# qstat
PID TT USER COMMAND RSZ
2425 pts/0 root ps 1168

二十一、配置端口转发,在系统system1配置端口转发,要求如下:
在192.168.122.0/24网络中的系统,访问system1的本地端口5423将被转发到80此设置必须永久有效

[root@system1 ~]# firewall-cmd --add-rich-rule 'rule family=ipv4 source address=192.168.122.0/24 forward-port port=5423 protocol=tcp to-port=80'
success
[root@system1 ~]# firewall-cmd --add-rich-rule 'rule family=ipv4 source address=192.168.122.0/24 forward-port port=5423 protocol=tcp to-port=80' --permanent
success

二十二、配置聚合链路,在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
此链路在系统重启之后依然保持正常状态

[root@system1 ~]# cd /usr/share/doc/teamd-1.9/example_ifcfgs/1/
[root@system1 1]# cp * /etc/sysconfig/network-scripts/
[root@system1 1]# cd /etc/sysconfig/network-scripts/

[root@system1 network-scripts]# cat 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"}}'

[root@system1 network-scripts]# cat ifcfg-eth1
DEVICE="eth1"
NAME="eth1"
DEVICETYPE="TeamPort"
ONBOOT="yes"
TEAM_MASTER="team_test0"

[root@system1 network-scripts]# cat ifcfg-eth2
DEVICE="eth2"
NAME="eth2"
DEVICETYPE="TeamPort"
ONBOOT="yes"
TEAM_MASTER="team_test0"

[root@system1 ~]# systemctl restart network

[root@system1 ~]# scp /etc/sysconfig/network-scripts/ifcfg-team_test0 system2:/etc/sysconfig/network-scripts/
[root@system1 ~]# scp /etc/sysconfig/network-scripts/ifcfg-eth1 system2:/etc/sysconfig/network-scripts/
[root@system1 ~]# scp /etc/sysconfig/network-scripts/ifcfg-eth2 system2:/etc/sysconfig/network-scripts/

最后修改system2:team_test文本ip,重启服务,在用ping和ifconfig检测结果

二十三、配置IPv6地址,在您的考试系统上配置接口eth0使用下列IPv6地址:
system1上的地址应该是200e:ac18::e0a/64 ;system2上的地址应该是200e:ac18::e14/64
两个系统必须能与网络200e:ac18/64内的系统通信,地址必须在重启后依旧生效。
两个系统必须保持当前的IPv4地址并能通信。

system1:先查看eth0设备对应连接名:nmcli connection
[root@system1 ~]# nmcli connection modify eth0 ipv6.method auto
[root@system1 ~]# nmcli connection modify eth0 ipv6.address 200e:ac18::e0a/64
[root@system1 ~]# nmcli connection modify eth0 ipv6.method manual
[root@system1 ~]# systemctl restart network

system2:先查看eth0设备对应连接名:nmcli connection
[root@system2 ~]# nmcli connection modify eth0 ipv6.method auto
[root@system2 ~]# nmcli connection modify eth0 ipv6.address 200e:ac18::e14/64
[root@system2 ~]# nmcli connection modify eth0 ipv6.method manual
[root@system2 ~]# systemctl restart network

二十四、配置本地邮件服务,在系统system1和system2上配置邮件服务,满足以下要求:
这些系统不接收外部发送来的邮件,在这些系统上本地发送的任何邮件都会自动路由到rhgls.rhce.cc
从这些系统上发送的邮件显示来自于rhce.cc,您可以通过发送邮件到本地用户'dave'来测试您的配置
系统rhgls.rhce.cc已经配置把此用户的邮件转到下列URL http://rhgls.rhce.cc/received_mail/11

system1执行:
[root@system1 ~]# firewall-cmd --add-service=smtp
[root@system1 ~]# firewall-cmd --add-service=smtp --permanent

[root@system1 postfix]# vim /etc/postfix/main.cf
vim main.cf 中复制一行mydestination,编辑mydestination=""
vim main.cf 中复制一行relayhost,编辑relayhost=[rhgls.rhce.cc]
vim main.cf 中复制一行myorigin,编辑myorigin=rhce.cc

[root@system1 postfix]# systemctl restart postfix
[root@system1 postfix]# yum install -y mailx
[root@system1 postfix]# echo hello | mail -s "lyshark" dave

浏览器中打开http://rhgls.rhce.cc/received_mail/11打开邮件

发现成功以后直接拷贝到目标主机

[root@system1 postfix]# scp main.cf system2:/etc/postfix/

system2执行:
[root@system2 postfix]# yum install -y mailx
[root@system2 ~]# firewall-cmd --add-service=smtp
[root@system2 ~]# firewall-cmd --add-service=smtp --permanent
[root@system2 ~]# systemctl restart postfix
[root@system2 ~]# echo "hello" | mail -s "lyshark" dave

二十五、通过SMB共享目录

在system1上配置SMB服务,您的SMB服务器必须是STAFF工作组的一个成员
共享/common目录共享名必须为common,只有rhce.cc域内的客户端可以访问common共享
common必须是可以浏览的,用户andy必须能够读取共享中的内容,验证的密码是redhat

system1执行:

[root@system1 ~]# yum install -y samba
[root@system1 ~]# vim /etc/samba//smb.conf
workgroup = STAFF
[common]
path = /common
hosts allow = 192.168.122.0/24

[root@system1 ~]# firewall-cmd --add-service=samba
[root@system1 ~]# firewall-cmd --add-service=samba --permanent
[root@system1 ~]# mkdir /common
[root@system1 ~]# chcon -R -t samba_share_t /common/

[root@system1 ~]# id andy // 查询是否存在
[root@system1 ~]# useradd andy
[root@system1 ~]# yum whatprovides */smbpasswd
[root@system1 ~]# yum install -y samba-client

[root@system1 ~]# pdbedit -L // 创建用户密码
[root@system1 ~]# smbpasswd -a andy
New SMB password: redhat
[root@system1 ~]# systemctl enable smb
[root@system1 ~]# systemctl restart smb

system2测试连通性:

[root@system2 ~]# yum install -y samba-client
[root@system2 ~]# smbclient //system1/common -U andy%redhat
[root@system2 ~]# smbclient -L //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来临时获取写的权限

system1上执行:

[root@system1 ~]# mkdir /miscellaneous
[root@system1 ~]# chcon -R -t samba_share_t /miscellaneous/

[root@system1 ~]# vim /etc/samba/smb.conf
[miscellaneous] // 追加写入
path = /miscellaneous
hosts allow=192.168.122.0/24
writable = no
write list = akira

[root@system1 ~]# chmod o+rwx /miscellaneous/
[root@system1 ~]# useradd silene
[root@system1 ~]# useradd akira
[root@system1 ~]# smbpasswd -a silene
New SMB password: redhat
[root@system1 ~]# smbpasswd -a akira
New SMB password: redhat
[root@system1 ~]# systemctl restart smb

system2上验证结果:

[root@system2 ~]# smbclient //system1/miscellaneous -U silene%redhat 测试读权限
[root@system2 ~]# smbclient //system1/miscellaneous -U akira%redhat 测试写权限

[root@system2 ~]# mkdir /mnt/multi
[root@system2 ~]# smbclient //system1/miscellaneous -U silene%redhat

[root@system2 ~]# vim /etc/fstab // 写入开机自动挂载
//system1/miscellaneous /mnt/multi cifs defaults,username=silene,password=redhat,multiuser,sec=ntlmssp 0 0

[root@system2 ~]# yum install -y cifs-utils
[root@system2 ~]# mount -a
[root@system2 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
//system1/miscellaneous 3.9G 1.3G 2.7G 32% /mnt/multi

创建用户tom1 tom2 用于测试属性分配是否正常
[root@system2 ~]# useradd tom1
[root@system2 ~]# useradd tom2

[root@system2 ~]# su - tom1
[tom1@system2 ~]$ cd /mnt/multi
[tom1@system2 multi]$ cifscreds add system1 -u silene
Password: redhat // 测试有无读取权限
[tom1@system2 multi]$ exit

[root@system2 ~]# su - tom2
[tom2@system2 ~]$ cd /mnt/multi
[tom2@system2 multi]$ cifscreds add system1 -u akira
Password: redhat // 测试有无写权限
[tom2@system2 multi]$ exit

二十七、配置NFS服务

在system1配置NFS服务,要求如下:
以只读的方式共享目录/public同时只能被rhce.cc域中的系统访问,以读写的方式共享目录/protected能被rhce.cc域中的系统访问
访问/protected需要通过Kerberos安全加密,您可以使用下面URL提供的密钥 http://host.rhce.cc/materials/nfs_server.keytab 目录/protected应该包含名为confidential拥有人为ldapuser11的子目录,用户ldapuser11以读写方式访问/protected/confidential

system1上执行:

[root@system1 ~]# systemctl restart nfs-server
[root@system1 ~]# systemctl enable nfs-server

[root@system1 ~]# firewall-cmd --add-rich-rule "rule family=ipv4 source address=192.168.122.0/24 service name=nfs accept"
[root@system1 ~]# firewall-cmd --add-rich-rule "rule family=ipv4 source address=192.168.122.0/24 service name=nfs accept" --permanent
[root@system1 ~]# firewall-cmd --add-rich-rule "rule family=ipv4 source address=192.168.122.0/24 service name=rpc-bind accept"
[root@system1 ~]# firewall-cmd --add-rich-rule "rule family=ipv4 source address=192.168.122.0/24 service name=rpc-bind accept" --permanent
[root@system1 ~]# firewall-cmd --add-rich-rule "rule family=ipv4 source address=192.168.122.0/24 service name=mountd accept"
[root@system1 ~]# firewall-cmd --add-rich-rule "rule family=ipv4 source address=192.168.122.0/24 service name=mountd accept" --permanent

[root@system1 ~]# mkdir /public
[root@system1 ~]# cat /etc/exports
/public *(ro,sync) // 写入属性
[root@system1 ~]# exportfs -arv
exporting *:/public

在system2上测试:

[root@system2 ~]# showmount -e system1
Export list for system1:
/public *
[root@system2 ~]# mount system1:/public /mnt
确认没问题后再卸载掉 umount /mnt

继续共享第二个目录 system1:

[root@system1 ~]# mkdir /protected
[root@system1 ~]# cat /etc/exports
/public *(ro,sync)
/protected *(rw,sync,sec=krb5p)
[root@system1 ~]# exportfs -arv
exporting *:/protected
exporting *:/public

下载证书并配置:

[root@system1 ~]# wget -O /etc/krb5.keytab http://host.rhce.cc/materials/nfs_server.keytab
[root@system1 ~]# cat /etc/sysconfig/nfs 找到rpcnfsdargs=”-V 4.2”

[root@system1 ~]# mkdir /protected/confidential
[root@system1 ~]# chcon -R -t public_content_t /protected/
[root@system1 ~]# chown ldapuser11 /protected/confidential
[root@system1 ~]# systemctl restart nfs-server
[root@system1 ~]# systemctl restart nfs-secure-server

二十八、挂载一个NFS共享

在system2上挂载一个来自system1.rhce.cc的NFS共享,并符合下列要求:
/public挂载在下面的目录上/mnt/nfsmount , /protected挂载在下面的目录上/mnt/nfssecure并使用安全的方式
密钥下载URL如下:http://host.rhce.cc/materials/nfs_client.keytab.
用户ldapusre11能够在/mnt/nfssecure/confidential上创建文件,这些文件系统在系统启动时自动挂载

[root@system2 ~]# showmount -e system1
[root@system2 ~]# mkdir /mnt/nfsmount
vim /etc/fstab 中添加system1.rhce.cc:/public /mnt/nfsmount nfs defaults 0 0
[root@system2 ~]# mount -a // 检查是否挂载成功
[root@system2 ~]# df -h

[root@system2 ~]# mkdir /mnt/nfssecure
[root@system2 ~]# wget -O /etc/krb5.keytab http://host.rhce.cc/materials/nfs_client.keytab
[root@system2 ~]# systemctl restart nfs-secure
vim /etc/fstab 中添加 system1.rhce.cc:/protected /mnt/nfssecure nfs defaults,v4.2,sec=krb5p 0 0
[root@system2 ~]# mount -a
[root@system2 ~]# ssh ldapuser11@system1.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服务

[root@system1 ~]# yum groupinstall web* -y
[root@system1 ~]# firewall-cmd --add-rich-rule "rule family=ipv4 source address=192.168.122.0/24 service name=http accept"
[root@system1 ~]# firewall-cmd --add-rich-rule "rule family=ipv4 source address=192.168.122.0/24 service name=http accept" --permanent
[root@system1 ~]# vim /etc/httpd/conf/httpd.conf
ServerName system1.rhce.cc:80 取消注释
[root@system1 ~]# vim /etc/hosts
192.168.122.100 system1.rhce.cc 写入以下条目
[root@system1 ~]# wget -O /var/www/html/index.html http://rhgls.rhce.cc/materials/station.html
[root@system1 ~]# systemctl restart httpd
[root@system1 ~]# systemctl enable httpd

三十、配置安全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获取

[root@system1 ~]# cd /etc/httpd/conf
[root@system1 conf]# wget http://host.rhce.cc/materials/system1.crt
[root@system1 conf]# wget http://host.rhce.cc/materials/system1.key
[root@system1 conf]# wget http://host.rhce.cc/materials/domain11.crt
[root@system1 conf]# vim /etc/httpd/conf.d/ssl.conf
依次修改配置项
SSLCertificateFile /etc/httpd/conf/system1.crt
SSLCertificateKeyFile /etc/httpd/conf/system1.key
SSLCertificateChainFile /etc/httpd/conf/domain11.crt

[root@system1 ~]# systemctl restart httpd

[root@system1 ~]# firewall-cmd --add-rich-rule "rule family=ipv4 source address=192.168.122.0/24 service name=https accept"ss

[root@system1 ~]# 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的域名解析

[root@system1 ~]# mkdir /var/www/virtual
[root@system1 ~]# wget -O /var/www/virtual/index.html http://rhgls.rhce.cc/materials/www.html
[root@system1 ~]# setfacl -m u:andy:rwx /var/www/virtual

[root@system1 ~]# cd /etc/httpd/conf.d/ 拷贝模板文件
root@system1 conf.d]# cp -a /usr/share/doc/httpd-2.4.6/httpd-vhosts.conf vhost.conf
[root@system1 conf.d]# vim 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>

[root@system1 conf.d]# systemctl restart httpd

# 验证是否合格
[root@system1 conf.d]# curl system1.rhce.cc
station
[root@system1 conf.d]# curl www.rhce.cc
www

三十二、配置web内容的访问

在您的system1上的web服务器的DocumentRoot目录下创建一个名为secret的目录。
要求如下:从http://rhgls.rhce.cc/materials/private.html下载一个文件副本到这个目录并且重命名为index.html 不要对这个文件的内容做任何修改,从system1上任何人都可以浏览secret的内容,但是从其它系统不能访问这个目录的内容

[root@system1 ~]# mkdir /var/www/html/secret
[root@system1 ~]# mkdir /var/www/virtual/secret
[root@system1 ~]# wget –O /var/www/html/secret http://rhgls.rhce.cc/materials/private.html
[root@system1 ~]# wget –O /var/www/html/virtual/secret/ http://rhgls.rhce.cc/materials/private.html

[root@system1 ~]# 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>

[root@system1 ~]# systemctl restart httpd
[root@system1 secret]# curl -s www.rhce.cc/secret/private.html
private
[root@system1 secret]# curl -s system1.rhce.cc/secret/private.html
private

三十三、实现动态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域内的所有系统访问

[root@system1 ~]# firewall-cmd --add-rich-rule "rule family=ipv4 source address=192.168.122.0/24 port port=8998 protocol=tcp accept"
[root@system1 ~]# firewall-cmd --add-rich-rule "rule family=ipv4 source address=192.168.122.0/24 port port=8998 protocol=tcp accept" --permanent

[root@system1 ~]# vim /etc/httpd/conf/httpd.conf 增加一个8998端口
Listen 80
Listen 8998

[root@system1 ~]# yum provides semanage
[root@system1 ~]# yum install -y policycoreutils-python
[root@system1 ~]# semanage port -a -t http_port_t -p tcp 8998 # 修改端口上下文

[root@system1 ~]# yum install mod_wsgi -y
[root@system1 ~]# mkdir /var/www/html/test
[root@system1 ~]# wget -P /var/www/html/test/ http://rhgls.rhce.cc/materials/webapp.wsgi

[root@system1 ~]# vim /etc/httpd/conf.d/vhost.conf
<VirtualHost dynamic.rhce.cc:8998>
DocumentRoot "/var/www/html/test"
ServerName dynamic.rhce.cc
WSGIScriptAlias / /var/www/html/test/webapp.wsgi
</VirtualHost>

[root@system1 ~]# systemctl restart httpd
[root@system1 ~]# curl dynamic.rhce.cc -P 8998
[root@system1 ~]# curl http://dynamic.rhce.cc:8998/test/webapp.wsgi

三十四、配置iSCSI服务端

配置system1提供一个iSCSI服务磁盘名为iqn.2014-09.com.example.domain11:system1,
并符合要求:服务端口为3260,使用iscsi_vol作其后端卷其大小为3G,此服务只能被system2.rhce.cc访问

[root@system1 ~]# yum install -y target*
[root@system1 ~]# systemctl restart target

fdisk /dev/vda创建3G分区
partprobe /dev/vda
targetcli后 ls/
/backstores/block create iscsi_vol /dev/vda4
/iscsi create iqn.2014-09.com.example.domain11:system1
cd /iscsi/iqn.2014-09.com.example.domain11:system1/tpg1/
acls/ create iqn.2014-09.com.example.domain11:xx
luns/ create /backstores/block/iscsi_vol ls /
portals/ create 0.0.0.0 3260 exit

[root@system1 ~]# systemctl restart firewalld

三十五、配置iSCSI的客户端
配置system2使其能连接在system1的上提供的iqn.2014-09.com.example.domain11:system1
并符合以下要求:
iSCSI设备在系统启动的期间自动加载
块设备iSCSI上包含一个大小为1700MiB的分区,并格式化为xfs
此分区挂载在/mnt/data上同时在系统启动的期间自动挂载

yum install iscsi* -y
vim /etc/iscsi/initiatorname.iscsi中将 = 后面值修改成iqn.2014-09.com.example.domain11:xx
systemctl start iscsid
systemctl enable iscsid
iscsiadm –m discovery –t st –p system1.rhce.cc - l
创建一个1700m的分区,格式化mkfs.xfs /dev/vda?
自动挂载 vim /etc/fstab 中添加一行
/dev/sda? /mnt/data xfs defaults,_netdev 0 0
mkdir /mnt/data
mount –a检查结果