考前说明:
上午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
- 安装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
- 调整卷的大小
调整逻辑卷 vo 的大小,它的文件系统大小应该为 290M。确保这个文件系统 的内容仍然完整。注意: 分区很少能精确到和要求的大小相同,因此在范围 260M 到 320M 之间都是 可接受
lvscan
echo 290-192 | bc
lvextend -L + 98M /dev/vg0/vo
验证:
lvscan
df -hT
说明:如果是ext4文件系统,使用这个命令做扩展 resize2fs /dev/mapper/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 文件/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
- crontab 任务
用户 natasha 必须配置一个 cron job, 当地时间每天 14:23 运行,执行: /bin/echo hiya
crontab -e -u natasha
23 14 * * * /bin/echo hiya
验证:crontab -l -u natasha
- 创建目录,满足属性
创建一个目录/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/
- 内核升级
从 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
- 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,并且无需关注密码
- 配置系统,新增用户
配置你的系统使它是 rhgls.rhce.cc 的一个 NTP 客户
yum install system-config-date
system-config-date &
打开后台界面,删除NTP服务器中的内容,重新配置NTP服务器
添加:rhgls.rhce.cc
- 配置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
- 创建用户和密码
创建一个用户 alex,uid 为 3400。这个用户的密码为 redhat。
useradd -u 3400 alex
echo redhat | passwd --stdin alex
- 创建分区
为你的系统上额外添加一个大小为 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分区失败,原因是分区不连续造成的
- 找出所有者 rsa,拷贝到 /root/findresults
找出所有所有者是 ira 的文件,并把他们拷贝到/root/findresults 目录
mkdir /root/findresults
find / -user ira -exec cp -a {} /root/findresults/ \;
ls -l /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
- 创建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
- 配置selinux eforcing ,见rhcsa 【第1题】
SELinux 必须在两个系统 system1 和 system2 中运行于 Enforcing 模式
- 配置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/ 下的两个文件
- 自定义用户环境
在系统 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,验证后再做另一个机器
- 配置端口转发
在系统 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
存疑,缺少验证环节
- 配置聚合链路
在 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能连通
- 配置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
- 配置邮件服务器
在系统 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输入浏览器 获取发送内容
- 通过 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)
- 配置多用户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有权限
- 配置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进行认证
- 配置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 来进行验证(疑似未验证)
- 配置站点加密
为站点 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
- 配置虚拟主机
在 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 已被设定)
- 配置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
- 动态配置网站
在 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
- 创建一个脚本
在 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
- 创建一个添加用户的脚本
在 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
- 配置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 域名
- 配置 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
- 配置mariadb
在 system1 上创建一个 MariaDB 数据库, 名为 Contacts ,并符合以下条件:
数据库应该包含来自数据库复制的内容,复制文件的 URL 为 http://rhgls.rhce.cc/materials/users.mdb 。
数据库只能被 localhost 访问。
除了 root 用户, 此数据库只能被用户 Luigi 查询。 此用户密码为 redhat。 root 用户的密码为 redhat , 同时不允许空密码登录。
yum install mariadb-server mariadb -y
systemctl start mariadb
systemctl enable mariadb
mysql
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');
- 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';