当前位置: 代码迷 >> 综合 >> rhcsa+rhce
  详细解决方案

rhcsa+rhce

热度:76   发布时间:2024-01-25 14:38:05.0

考前说明:

上午rhcsa 下午rhce

邮箱和姓名保持一致

考官让点 继续/下一步 再点,不要自己点击

普通用户登录物理机,密码记录在草稿纸上头

ssh root@IP -X  有可视化操作界面管理虚拟机

 

No.1 rhcsa

注意事项:

1.第3题 扩展文件系统大小

考试时用df -hT 查看vo的文件系统是什么

1.如果是xfs文件系统的话,扩展则用xfs_growfs

2.如果是ext4文件系统的话,则用resize2fs

 

2.第9题 LDAP那题,做好之后用root切换ldapuser11,不用考虑什么密码问题

su - ldapuser11,此事是没有家目录的

 

3.第11题 在/etc/auto.aa里,考试的时候不要忘记了vers=3选项

验证的时候用su - ldapuser11,记住要带-, 不要说你习惯不带 -

 

4.第17题也就是最后一题

题目要求使用ext3文件系统,命令是mkfs.ext3

如果考试要求使用fat文件系统,则用mkfs.vfat

 

 

重置station虚拟机中root用户密码(存疑,考试是否需要)

restart  e 键  

加入init=/bin/sh  

ctr+x结束

mount -o remount,rw /

echo redhat | passwd —stdin root

touch /.autorelabel

exec /sbin/init/

 

systemctl isolate graphical.target(可切换图形界面 )

 

配置(需要参照考试需求)

hostnamectl set-hostname station.rhce.cc

cd /etc/sysconfig/network-scripts/

ifconfig

 

 

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

 

systemctl restart network

ping staion.rhce.cc

 

 

物理机打开终端:

ssh root@192.168.122.100 -X

cd /etc/sysconfig/network-scripts/

cat ifcfg-eth0

 

 

二.答题

 

1.配置selinux enforcing

getenforce

setenforce 1

vim /etc/selinux/config

SELINUX = enforcing

 

 

  1. 安装yum 源

使用地址 ftp://server.rhce.cc/dvd 作为默认的源 

cd /etc/yum.repos.d

vim aa.repo

[aa]

name=aa

baseurl=ftp://server.rhce.cc/dvd(给定)

enabled=1

gpgcheck=0

验证:yum install vsftpd -y

 

  1. 调整卷的大小

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

lvscan

echo 290-192 | bc

lvextend -L + 98M /dev/vg0/vo

验证:

lvscan

df -hT

说明:如果是ext4文件系统,使用这个命令做扩展 resize2fs /dev/mapper/vg0-vo

 

  1. 创建用户组关系

名字为 adminuser 的组
用户 natasha,使用 adminuser 作为附属组
用户 harry,也使用 adminuser 作为附属组
用户 sarah,在系统上不能访问可交互的 shell, 且不是 adminuser 的成员, natashaharrysarah 密码都是 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

 

 

 

 

 

  1. 配置权限

复制文件/etc/fstab /var/tmp/fstab。配置/var/tmp/fstab 的权限如下:

文件/var/tmp/fstab 所有者是 root 文件/var/tmp/fstab 属于 root 组 文件/var/tmp/fstab 不能被任何用户执行

用户 natasha 可读和可写/var/tmp/fstab
用户 harry 既不能读也不能写/var/tmp/fstab 所有其他用户(现在和将来)具有读/var/tmp/fstab 的能力

 

cp /etc/fstab /var/tmp/fstab

ls -l /var/tmp/fstab(-rw-rw-r--+ 1 root root 483 1月  17 11:08 /var/tmp/fstab)

setfacl -m u:natasha:rw- /var/tmp/fstab

setfacl -m u:harry:--- /var/tmp/fstab

 

  1. crontab 任务

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

crontab -e -u  natasha

23 14 * * * /bin/echo hiya

验证:crontab -l -u natasha

 

  1. 创建目录,满足属性

创建一个目录/home/admins,使之具有下面的特性:

/home/admins 所属组为 adminuser
这个目录对组 adminuser 的成员具有可读、可写和可执行,但是不是对其他

任何用户。(root 可以访问系统上所有的文件和目录) 在/home/admins 下创建的任何文件所属组自动设置为 adminuser

 

mkdir /home/admins

ls -ld /home/admins

chgrp adminuser /home/admins

chmod g+w /home/admins

chmod g+s /home/admins

ls -ld /home/admins

chmod o-rx   /home/admins/

 

 

 

 

  1. 内核升级

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

firefox  http://rhgls.rhce.cc/pub/updates &(右键点击 链接另存为,存储到root目录里)

ls

rpm -ivh kernel-3.10.0-229.el7.x86_64.rpm

 

 

  1. ldap 服务配置

系统 host.rhce.cc 提供了一个 LDAP 验证服务,你的系统应该按下面的要求绑 定到这个服务:

验证服务的基准 DN dc=rhce,dc=cc

LDAP 用于提供账户信息和验证信息连接应该使用位于 http://host.rhce.cc/pub/domain11.crt 的证书加密

当正确的配置后,ldapuser11 可以登录你的系统,但没有家目录 直到你完成 autofs 题目 ldapuser11 的密码是'redhat'

 

yum list auth*

yum install authconfig-gtk.x86_64 -y

界面操作:

authconfig-gtk &(打开通信化界面)

认证方法:ldap

认证密码:ldap

yum install nss-pam-ldapd -y

authconfig-gtk &(重新打开界面)

ldap 搜索基础  dc=rhce,dc=cc(DN按照考试需求)

ldap 服务器 host.rhce.cc

TLS处 打钩

选择下载证书,粘贴,http://host.rhce.cc/pub/domain11.crt

点击 应用

验证:id ldapuser11,并且无需关注密码

 

  1. 配置系统,新增用户

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

yum install system-config-date

system-config-date &

打开后台界面,删除NTP服务器中的内容,重新配置NTP服务器

添加:rhgls.rhce.cc

 

  1. 配置autofs自动挂载ldap家目录

配置 autofs 自动挂载 LDAP 用户的家目录,如下要求: host.rhce.cc(192.168.122.10) 使用 NFS 共享了/home/guests 给你的系统。这个

文件系统包含了预先设置好的用户 ldapuser11 的家目录 ldapuser11 的家目录是 host.rhce.cc:/home/guests/ldapuser11

ldapuser11 的家目录应该自动挂载到本地/home/guests 下面的 /home/guests/ldapuser11

家目录必须对用户具有可写权限 ldapuser11 的密码是'redhat'

 

yum install autofs -y

vim /etc/auto.master

/home/guests /etc/auto.aa(misc下头)

cp /etc/auto.misc

 /etc/auto.aa

 

vim /etc/auto.aa

ladpuser11    -fstype=nfs,rw,vers=3   host.rhce.cc:/home/guests/ldapuser11

systemctl restart autofs

systemctl enable autofs

验证:su - ldapuser11

说明:密码无需关注,留意ext3 ext4

 

  1. 创建用户和密码

创建一个用户 alexuid 3400。这个用户的密码为 redhat

useradd -u 3400 alex

echo redhat | passwd --stdin alex

 

  1. 创建分区

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

p 浏览 n创建 e编辑 w保存退出 回车(。。)

lsblk

1)创建物理分区:

fdisk /dev/vda

分别输入 p n e 和 回车键,把所有看空间都分配给它

2)创建逻辑分区:  

p  n 回车键 +512  p

t  回车键 82 p  w

 

partprobe /dev/vda

mkswap /dev/vda5

vim /etc/fstab

/dev/vda5 swap swap defaults 0 0

 

swapon -a

swapon -s

说明:如果创建512分区失败,原因是分区不连续造成的

 

  1. 找出所有者 rsa,拷贝到 /root/findresults

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

mkdir  /root/findresults

find / -user ira -exec cp -a {} /root/findresults/ \;

ls  -l /root/findresults/

 

  1. 查找并复制对应的行

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

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

验证 cat /root/lines

 

  1. 创建bz2备份文件

创建名为/root/backup.tar.bz2 的备份文件,其中包含/usr/local 的内容,tar 必 须使用 bzip2 压缩

yum install bzip2

cd /usr/local/

tar jcvf /root/backup.bz2 *(bzip)

tar jcvf /root/backup.tar.bz2 * (gzip)

cd /root/

Ls

 

17.创建逻辑卷,文件系统各异

按照下面的要求创建一个新的逻辑卷:
逻辑卷命名为 database,属于卷组 datastore,且大小为 50 个扩展。

在卷组 datastore 的逻辑卷每个扩展的大小为 16MiB

使用 ext3 格式化这个新的逻辑卷.此逻辑卷在系统启动的时候应该能自动挂载到 /mnt/database

lsblk

fdisk /dev/vda

p n enter +1G  t enter 8e

partprobe /dev/vda

pvcreate /dev/vda6

vgcreate -s 16 datastore /dev/vda6

lvcreate -l 50 -n database datastore

ext3格式化:

mkfs.

yum whatprovides  */mkfs.vfat

yum install dosfstools-3.0.20-9.el7.x86_64 -y

mkfs.vfat  /dev/datastore/database

 

说明:

unable to get drive geometry, using default 255/63并不是报错      

不同文件系统语法改变:mkfs.vfat (xfs or ext3 ext4 )   /dev/datastore/database

 

mkdir /mnt/database

vim /etc/fstab

/dev/datastore/database /mnt/database  vfat ( ext3 or ext4 or xfs)   defaults 0 0

(lvscan ,复制粘贴也可)

验证:mount -a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

No.2 rhce

 

考前准备:

 

姓名和邮箱

用户名和邮箱上下午保持一致,否则没有成绩,密码可写在草稿纸上头

考试时候,通过管理软件进行管理,打开两个终端

 

配置yum源头

通过考试说明 安装yum源 见 rhcsa 【第2题】

yum 源地址: ftp://server.rhce.cc/dvd

创建完成后,拷贝到  system2  : scp aa.repo system2:/etc/yum.repos.d/

 

登录系统:

存疑:界面管理器

一台物理机中有两台虚拟机,system1 system2

ssh root@system1 -X  

redhat

ssh root@system2 -X

redhat

 

 

  1. 配置selinux eforcing ,见rhcsa 【第1题】
    SELinux 必须在两个系统 system1 system2 中运行于 Enforcing 模式

 

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

host rhce.cc  查看所属网段

vim /etc/hosts.allow

sshd : 192.168.122.0/255.255.255.0

vim /etc/hosts/.deny

sshd : .my133.org

scp /etc/hosts/allow /etc/hosts/deny system2:/etc/

验证  system2 /etc/ 下的两个文件

 

  1. 自定义用户环境

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

 

vim /etc/bashrc

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

source /etc/bashrc

验证 qstat,验证后再做另一个机器

 

 

  1. 配置端口转发

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

cd desktop

vim aa.txt

mandb

man -k firewall

man firewalld.richlanguage

/Exaple 3 复制过来,粘贴到 rule 里去

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

存疑,缺少验证环节

 

  1. 配置聚合链路

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 此链路在系统重启之后依然保持正常状态

 

cd /usr/share/doc/teamd-1.9/

cd example_ifcgs/1/

ls

cp * /etc/sysconfig/network-scrips/

cd /etc/sysconfig/network-scripts/

 

vim ifcfg-team_test0

修改:

NAME=team_test0

ONBOOT = “yes”

IPADDR = “172.168.11.25”

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

 

 

vim ifcfg-eth1

NAME=eth1

ONBOOT=“yes”

 

vim ifcfg-eth2

NAME=eth2

ONBOOT=“yes”

 

systemctl restart network

验证,重启后,可观察其mac地址相同

 

 

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

ls

vim ifcfg-team0

修改ip 地址,172.18.11.35

验证mac地址相同

分别ping  25和35,互ping能连通

 

 

  1. 配置ipv6

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

system1 上的地址应该是 200e:ac18::e0a/64
system2 上的地址应该是 200e:ac18::e14/64 两个系统必须能与网络 200e:ac18/64 内的系统通信。 地址必须在重启后依旧生效。 两个系统必须保持当前的 IPv4 地址并能通信。

ifconfig eth0

nmcli connection

nmcli connection modify eth0 ipv6.method auto  查看 eth0

nmcli connection modify eth0 ipv6.addresses 200e:ac18::e0a/64(地址是题目给的)

nmcli connection modify eth0 ipv6.addresses 200e:ac18::e14/64(地址是题目给的)

nmcli connection modify eth0 ipv6.method manual

systemctl restart  network

 

验证:分别ping本机和另一台机器

ifconfig eth0

ping6  200e:ac18::e0a

ping6  200e:ac18::e14

 

 

 

  1. 配置邮件服务器

在系统 system1 system2 上 配置邮件服务,满足以下要求: 这些系统不接收外部发送来的邮件 在这些系统上本地发送的任何邮件都会自动路由到 rhgls.rhce.cc 从这些系统上发送的邮件显示来自于 rhce.cc

您可以通过发送邮件到本地用户 'dave' 来测试您的配置,系统 rhgls.rhce.cc 已经配置把此 用户的邮件转到下列 URL http://rhgls.rhce.cc/received_mail/11

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

firewall-cmd  --add-service=smtp --permanent

如下可不操作:

postconf | grep trans

postconf -e local_transport=err:xxx

postconf | grep ^local_tr

 

cd /etc/postfix/

vim main.cf

mydestination =

relayhost = [rhgls.rhce.cc]

myorigin = rhce.cc

 

systemctl restart postfix

yum install mailx

echo aaaaa  | mail -s ‘aaa’ dave

验证,拷贝url输入浏览器 获取发送内容

 

第二台机器:

scp main.cf system2:/etc/postfix/

systemctl restart postfix

yum install mailx

echo bbbbb  | mail -s ‘aaabbbb’ dave

验证,拷贝url输入浏览器 获取发送内容

 

 

  1. 通过 smb共享目录

system1 上配置 SMB 服务

您的 SMB 服务器必须是 STAFF 工作组的一个成员 共享 /common 目录 共享名必须为 common
只有 rhce.cc 域内的客户端可以访问 common 共享 common 必须是可以浏览的

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

yum install samba

cd /etc/samba/

ls

防火墙规则:rule family="ipv4" source address="192.168.122.0/24" service name="tftp" accept

 

vim smb.conf

workgroup = STAFF

path = /common

host allow = 192.168.122.0/24

 

mkdir /common

chcon -R -t samba_share_t /common

firewall -cmd - - add-service=samba - -permanent

id andy

useradd andy

echo redhat | passwd --stdin andy

yum whatprovides */smbpasswd

yum install  smb-client

pdbedit -L

smbpasswd -a andy

systemctl start smb

验证:

smbclient -L  //system1 -U andy%redhat (浏览信息)

smbclient //system1/common -U andy%redhat(登录smb)

 

 

  1. 配置多用户smb

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

共享名为 miscellaneous
共享目录 miscellaneous 只能被 rhce.cc 域中的客户端使用
共享目录 miscellaneous 必须可以被浏览
用户 silene 必须能以读的方式访问此共享, 访问密码是 redhat
用户 akira 必须能以读写的方式访问此共享, 访问密码是 redhat
此共享永久挂载在 system2.rhce.cc 上的 /mnt/multi 目录, 并使用用户 silene 作为认

证 任何用户可以通过用户 akira 来临时获取写的权限

 

1)创建:

mkdir /miscellaneous

chcon -R -t samba_share_t /miscellaneous

 

vim  /etc/smb.conf

[miscellaneous]

path = /miscellaneous

hosts allow = 192.168.122.0/24

writable = no

write list = akira

 

chmod o+w /miscellaneous

id silene

useradd silene

echo redhat | passwd - - stdin silene

useradd akira

echo redhat | passwd - - stdin akira

smbpasswd -a silene

smbpasswd -a akira

systemctl restart  smb

systemctl enabled smb

 

验证:

smbclient  //system1/miscellaneous -U silene%redhat 可读

smbclient  //system1/miscellaneous -U akira%redhat 可写

 

2)挂载:

mkdir /mnt/multi

smbclient -L //system1 -U andy%redhat

 

vim /etc/fstab

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

 

mount -a

yum install cifs-u*

mount -a

df -hT 查看挂载点

 

验证:

useradd tom1

useradd tom2

useradd tom3

 

su - tom1

cd /mnt/multi

ls 没有权限

cifscreds add system1 -u silene

ls有权限

Touch 没有权限

 

su - tom2

cd /mnt/multi

cifscreds add system1 -u akira

ls 有权限

touch有权限

 

 

  1. 配置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

systemctl start nfs-server

systemctl enable nfs-server

systemctl  is-enabled nfs-server.service

 

写两遍 不带和带permanent

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' --permanent

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 -arv

firewall-cmd  --add-service=mountd

mount system1:/public  /mnt

umount  /mnt

 

mkdir /protected

vim /etc/exports

/protected  *(rw,sync)

 

exportfs -arv

wget -O  /etc/krb5.keytab  http://host.rhce.cc/materials/nfs_server.keytab

(不要删除自带的 /etc/krb5.conf /etc/krb5.keytab)

vim /etc/exports

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

验证:cat /etc/exports

 

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  restart nfs-secure-server

systemctl  enable nfs-secure-server

systemctl  is-enabled nfs-server.service

 

 

 

11.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 上创建文件

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

 

showmount -e system1

mkdir /mnt/nfsmount

 

vim /etc/fstab

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

 

mount -a

df -hT

 

mkdir /mnt/nfssecure

wget -O /etc/krb5.keytab http://host.rhce.cc/materials/nfs_client.keytab

systemctl restart nfs-secure

systemctl enable nfs-secure

 

vim /etc/fstab

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

 

mount -a

df -hT

说明:不要su过来,没有权限。要走ssh,也就是

ssh ldapuser11@system2.rhce.cc,基于krb5p进行认证

 

  1. 配置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 服务

 

yum groupinstall web* -y

systemctl start httpd

systemctl enable httpd

 

cd /etc/httpd/conf

vim http.conf

ServerName system1.rhce.cc:80

 

wget -O /var/www/html/index.html   http://rhgls.rhce.cc/materials/station.html

写两遍 一遍带permanent

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

vim /etc/hosts

192.168.122.100 system1.rhce.cc

访问浏览器: system1.rhce.cc my133t.org  来进行验证(疑似未验证)

 

  1. 配置站点加密

为站点 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 获取

 

wget  http://host.rhce.cc/materials/system1.crt

wget  http://host.rhce.cc/materials/system1.key

wget  http://host.rhce.cc/materials/domain11.crt

 

ssh root@system1

cd /etc/httpd/conf.d/

 

vim ssl.conf

SSLCertificateFile /etc/httpd/conf/system1.crt

SSLCertificateKeyFile /etc/httpd/conf/system1.key

SSLCertificateChainFile /etc/httpd/conf/domain11.crt

 

systemctl restart httpd

访问浏览器: https://system1.rhcec.cc ,无法访问,增加防火墙规则

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

 

 

  1. 配置虚拟主机

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 的域名解析

 

ping www.rhce.cc (确定环境ip地址)

cat /etc/hosts

cd /etc/httpd/conf.d

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 vhosts.conf

 

vim vhosts.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>

 

Vim /etc/hosts

192.168.122.100 system1.rhce.cc

192.168.122.100 www.rhce.cc

 

 

systemctl restart httpd

systemctl enable httpd

 

验证:

system1.rhcec.cc

https://system1.rhcec.cc

www.rhce.cc(https 已被设定)

 

  1. 配置web内容访问

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

http://rhgls.rhce.cc/materials/private.html 下载一个文件副本到这个目录,并且重命名 为 index.html

  不要对这个文件的内容做任何修改。

system1 上,任何人都可以浏览 secret 的内容, 但是从其它系统不能访问这个目 录的内容

 

mkdir /var/www/html/secret /var/www/virtual/secret

wget -O /var/www/html/secret/index.html http://rhgls.rhce.cc/materials/private.html

wget -O /var/www/virtual/secret/index.html http://rhgls.rhce.cc/materials/private.html

 

vim vhosts.conf

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

        AllowOverride None

        Require local

</Directory>

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

        AllowOverride None

        Require local

</Directory>

 

验证:

systemctl restart httpd

外网不可访问 www.rhce.cc/secret system1.rhce.cc/secret

本机(system1)可访问:

curl -s system1.rhce.cc/secret/index.html

curl -s www.rhce.cc/secret/index.html

 

 

  1. 动态配置网站

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 域内的所有系统访问

 

 

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 httpd.conf

Listen 8998

vim vhosts.conf

<VirtualHost dynamic.rhce.cc:8998>

DocumentRoot /var/www/html/yy

ServerName dynamic.rhce.cc

</VirtualHost>

mkdir /var/www/html/yy

yum install mod_wsgi

wget  -P /var/www/html/yy  http://rhgls.rhce.cc/materials/webapp.wsgi

vim vhosts.conf

<VirtualHost dynamic.rhce.cc:8998>

DocumentRoot /var/www/html/yy

ServerName dynamic.rhce.cc

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

</VirtualHost>

vim /etc/ssh/sshd_config  寻找模板

yum whatprovides */semanage

yum install  

semanage port -a -t http_port_t -p tcp 8998

systemctl restart httpd

访问浏览器:dynamic.rhce.cc:8998

 

  1. 创建一个脚本

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

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

/root/script foo|bar

vim script

#!/bin/bash

 

case $1 in

        foo)

                echo bar

                ;;

        bar)

                echo foo

                ;;

        *)      

                echo '/root/script foo|bar'

                ;;

esac

验证:

chmod +x script

./script

./script bar

./script foo

 

  1. 创建一个添加用户的脚本

system1 上创建一个脚本,名为 /root/mkusers , 此脚本能实现为系统 system1 创建本地 用户, 并且这些用户 的用户名来自一个包含用户名列表的文件。同时满足下列要求:

此脚本要求提供一个参数,此参数就是包含用户名列表的文件

如果没有提供参数,此脚本应该给出下面的提示信息 Usage: /root/mkusers 然后退出并 返回相应的值

如果提供一个不存在的文件名,此脚本应该给出下面的提示信息 Input file not found 然 后退出并返回相应的值

创建的用户登录 shell /bin/false
此脚本不需要为用户设置密码
您可以从下面的 URL 获取用户名列表作为测试用 http://rhgls.rhce.cc/materials/userlist

 

vim 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

 

 

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

cat userlist

chmod +x mkusers(存疑,执行不了)

./mkusers userlist

 

  1. 配置iSCSI 服务器 (进一步学习)

配置 system1 提供一个 iSCSI 服务 磁盘名为 iqn.2014-09.com.example.domain11:system1 , 并符合下列要求:

服务端口为 3260
使用 iscsi_vol 作其后端卷 其大小为 3G 此服务只能被 system2.rhce.cc 访问

 

yum install target*

systemctl start target

systemctl enable target

lsblk

fdisk /dev/vda

p n enter +3G

partprobe /dev/vda

targetcli

/backstores/block create iscsi_vol /dev/vda4

ls

/iscsi create iqn.2014-09.com.example.domain11:system1

cd /iscsi/iqn.2014-09.com.example.domain11:system1/tpg1/

ls

acls/ create iqn.2014-09.com.example.domain11:system1:xx

luns/ create /backstores/block/iscsi_vol

portals/ create 0.0.0.0 3260

exit

防火墙可视化界面:

yum install firewall-config  -y

firewall-config

 

尝试改成命令行

配置:永久

区域:public

富规则:添加

systemctl restart firewalld

说明:注意IP地址  ifconfig eth0 或者 hostname 后 ping 域名

 

  1. 配置 iSCSI 客户端 (存疑,由于服务单配置问题,导致无法访问

配置 system2 使其能连接在 system1 的上提供的 iqn.2014-09.com.example.domain11:system1 并符合以下要求:

iSCSI 设备在系统启动的期间自动加载
块设备 iSCSI 上包含一个大小为 1700 MiB 的分区,并格式化为 xfs 此分区挂载在 /mnt/data 上 同时在系统启动的期间自动挂载

 

lsblk

yum install iscsi*

vim /etc/iscsi/initiatorname.iscsi

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

systemctl start iscsid

systemctl enable iscsid

iscsiadm -m discovery -t st -p system1.rhce.cc -l

lsblk

fdisk /dev/sda

+1700M

mkfs.xfs  /dev/sda1

 

vim /etc/fstab

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

 

mkdir /mnt/data

df -hT

 

 

  1. 配置mariadb

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

数据库应该包含来自数据库复制的内容,复制文件的 URL http://rhgls.rhce.cc/materials/users.mdb

数据库只能被 localhost 访问。
除了 root 用户, 此数据库只能被用户 Luigi 查询。 此用户密码为 redhatroot 用户的密码为 redhat , 同时不允许空密码登录。

 

yum install mariadb-server mariadb -y

systemctl start mariadb

systemctl enable mariadb

mysql

create database Contacts

wget  http://rhgls.rhce.cc/materials/users.mdb

use Contacts

source /root/users.mdb

show tables;

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

set password=password('redhat');

 

  1. sql查询

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

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

 

mysql -u root -p'redhat'

use Contacts;

desc table

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

select count(*) from name join loc where name.aid = loc.cid and firstname = 'John' and loction = 'Santa Clara';