本人下午考试成绩以下图:因为本人作完题忘记重启虚拟机检查服务,致使smb、database两类题有误,其余类型题成绩都比较不错html
1.配置 SELinux,SELinux 必须在两个系统 system1 和 system2 中运行于 Enforcing 模式python
getenforce 查看当前模式 setenforce 1 vim /etc/selinux/config 编辑配置文件 改成SELINUX=enforcing
2.配置 SSH 访问按如下要求配置 SSH 访问,:用户可以从域 rhce.com 内的客户端经过 SSH 远程访问您的两个虚拟机系统,在域 my133t.org 内的客户端不能访问您的两个虚拟机系统。mysql
host rhce.com 解析域名 vim /etc/hosts.allow sshd : 192.168.122.0/255.255.255.0 vim /etc/hosts.deny sshd : .my133t.org
3.自定义用户环境,在系统 system1 和 system2 上建立自定义命令名为 qstat 此自定义命令将执行如下命令:
/bin/ps -Ao pid,tt,user,fname,rsz,此命令对系统中全部用户有效。linux
vim /etc/bashrc alias qstat='/bin/ps -Ao pid,tt,user,fname,rsz' source /etc/bashrc
4.配置端口转发
在系统 system1 配置端口转发, 要求以下:在 192.168.122.0/24 网络中的系统, 访问 system1 的本地端口 5423 将被转发到 80,此设置必须永久有效web
man -k firewall 查看防火墙帮助手册 man firewalld.richlanguage firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.122.0/24" forward-port to-port="80" protocol="tcp" port="5423"' 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
5.配置聚合链路在 system1.rhce.com 和 system2.rhce.com 之间按如下要求配置一个链路:此链路使用接口 eth1 和 eth2,
此链路在一个接口失效时仍然能工做,此链路在 system1 使用下面的地址 172.16.11.25/255.255.255.0,此链路在 system2 使用下面的地址 172.16.11.35/255.255.255.0,此链路在系统重启以后依然保持正常状态sql
cd /usr/share/doc/teamd-1.9/ cd example_ifcfgs/1/ cp * /etc/sysconfig/network-scripts/ scp * system2:/etc/sysconfig/metwork-scripts/ cd /etc/sysconfig/network-scripts/ vim ifcfg-eth1 DEVICE="eth1" ONBOOT="yes" vim ifcfg-eth2 DEVICE="eth2" ONBOOT="yes" vim ifcfg-team_test0 ONBOOT=yes NAME=team_test0 IPADDR=172.16.11.25 TEAM_CONFIG='{"runner": {"name": "activebackup"}}'
6.配置 IPv6 地址,在您的考试系统上配置接口 eth0 使用下列 IPv6 地址:,system1 上的地址应该是 200e:ac18::e0a/64
system2 上的地址应该是 200e:ac18::e14/64,两个系统必须能与网络 200e:ac18/64 内的系统通讯。,地址必须在重启后依旧生效。两个系统必须保持当前的 IPv4 地址并能通讯。shell
nmcli connection 查看eth 对应的连接名是什么 nmcli connetcion modify eth0 ipv6.method auto nmcli connetcion modify eth0 ipv6.addresses 200e:ac18::e0a/64 nmcli connetcion modify eth0 ipv6.methond manual systemctl restart netwrok
七、在系统 system1 和 system2 上 配置邮件服务,知足如下要求:这些系统不接收外部发送来的邮件,在这些系统上本地发送的任何邮件都会自动路由到 rhce.com,从这些系统上发送的邮件显示来自于 rhce.com,您能够经过发送邮件到本地用户 'dave' 来测试您的配置, 系统 rhce.com 已经配置把此用户的邮件转到下列 URL http://rhce.com/received_mail/11数据库
firewall-cmd --add-service=smtp firewall -md --add-service=smtp --permanent cd /etc/postfix/ vim main.cf mydestination = 为空就是不接受外部发来的邮件 relayhost = [rhce.com] 任何邮件都会自动路由到 rhce.com myorigin = rhce.com 设置邮件显示来自于 rhce.com yum install malix echo aaaaaaaaaa | mail -s 'aaaaaaaaaaaaaaaa' dave 发送邮件测试
8.经过 SMB 共享目录,在 system1 上配置 SMB 服务,您的 SMB 服务器必须是 STAFF 工做组的一个成员
共享 /common 目录 共享名必须为 common,只有 rhce.com 域内的客户端能够访问 common 共享,common 必须是能够浏览的,用户 andy 必须可以读取共享中的内容,若是须要的话,验证的密码是 redhatvim
system1配置以下: yum install samba -y 安装samba服务 vim /etc/samba/smb.conf 编辑samba配置文件 workgroup = STAFF 修改工做组 [common] 共享组名 path = /common 共享组目录 hosts allow = 192.168.122.0/24 容许能够访问共享目录的网段 mkdir /common 建立共享目录 chcon -R -t samba_share_t /common/ 修改目录的安全上下文 firewall-cmd --add-service=samba 容许防火墙经过全部samba服务 firewall-cmd --add-service=samba --permanent 永远容许防火墙经过全部samba服务 yum install samba-client.x86_64 -y 下载samba客户端 useradd andy 本地建立andy用户 smbpasswd -a andy smb建立用户 redhat 设置密码 redhat 重复设置密码 systemctl restart smb 从新启动smb服务 systemctl enable smb 设置开机自启smb服务 system2配置以下: yum install samba-client.x86_64 -y 下载samba客户端 smbclient -L //system1 -U andy%redhat 查看system1分享出来的针对用户andy的资源。
9.配置多用户 SMB 挂载,在 system1 共享经过 SMB 目录 /miscellaneous 知足如下要求:,共享名为 miscellaneous
共享目录 miscellaneous 只能被 rhce.com 域中的客户端使用,共享目录 miscellaneous 必须能够被浏览,用户 silene 必须能以读的方式访问此共享, 访问密码是 redhat,用户 akira 必须能以读写的方式访问此共享, 访问密码是 redhat,此共享永久挂载在 system2.rhce.com 上的 /mnt/multi 目录, 并使用用户 silene 做为认
证 任何用户能够经过用户 akira 来临时获取写的权限后端
system1配置以下: mkdir /miscellaneous 建立目录 chcon -R -t samba_share_t /miscellaneous 修改目录的上下文 vim /etc/samba.conf 编辑samba配置文件 [miscellaneous] 共享目录名称 path = /miscellaneous 共享目录路径 hosts allow = 192.168.122.0/24 可容许访问共享目录的网段 writable = no 可容许修改目录路径 write list = akira 容许写入的用户 (默认是有读的权限) chmod o+w /miscellaneous/ 修改其余人的目录权限 useradd silene 本地建立用户 echo redaht | passwd --stdin silene 配置密码 useradd akira 本地建立用户 echo redaht | passwd --stdin akira 配置密码 smbpasswd -a silene 配置smb用户 redhat redhat smbpasswd -a akira配置smb用户 redhat redhat systemctl restart smb 从新启动smb服务 systemctl enable smb 设置开机自启 system2配置以下: vim /etc/fstab 配置开机自动挂载 //system1/miscellaneous /mnt/multi cifs defaults,username=silene,password=redhat,multiuser,sec=ntlmssp 0 0 yum install cifs-utils.x86_64 -y mount -a 从新挂载 useradd tom1 ssh tom1@system2 cifscreds add system1 -u silene 使用silene用户获取权限
10.配置 NFS 服务,在 system1 配置 NFS 服务,要求以下:,以只读的方式共享目录 /public 同时只能被 rhce.com 域中的系统访问,以读写的方式共享目录 /protected 能被 rhce.com 域中的系统访问,访问 /protected 须要经过 Kerberos 安全加密, 您可使用下面 URL 提供的密钥,http://rhce.com/materials/nfs_server.keytab.,目录 /protected 应该包含名为 confidential 拥有人为 ldapuser11 的子目录,用户 ldapuser11 能以读写方式访问 /protected/confidential
mkdir /public 建立目录 systemctl start nfs-server 启动nfs服务 systemctl enable nfs-server 开启nfs开机自启 firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.122.0/24" service name="nfs" accept' 防火墙放行192.168.122.0/24网段对nfs服务的访问 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' 防火墙放行192.168.122.0/24网段对rpc-bind服务的访问 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' 防火墙放行192.168.122.0/24网段对mountd服务的访问 firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.122.0/24" service name="mountd" accept' --permanent 永远放行 vim /etc/exports 编辑exports文件 /public *(ro,sync) 共享目录(只读方式) exportfs -arv 不用重启nfs服务,配置文件就会生效在客户端查看 mkdir /protected 建立目录 wget -O /etc/krb5.keytab http://rhce.com/materials/nfs_server.keytab 下载密钥 vim /etc/exports 编辑文件 /protected *(rw,sync,sec=krb5p) 绑定密钥 mkdir /protected/confidential 建立目录 vim /etc/sysconfig/nfs RPCNFSDARGS="-V 4.2" chcon -R -t public_content_t /protected/ 设置安全上下文 chown ldapuser11 /protected/confidential/ 修改目录的全部者为ldapuser11 systemctl restart nfs-server 重启服务 systemctl restart nfs-secure-server 重启服务 systemctl enable nfs-secure-server
11.挂载一个 NFS 共享在 system2 上挂载一个来自 system1.rhce.com 的 NFS 共享, 并符合下列要求:
/public 挂载在下面的目录上 /mnt/nfsmount,/protected 挂载在下面的目录上 /mnt/nfssecure 并使用安全的方式,密钥下载 URL 以下: http://rhce.com/materials/nfs_client.keytab. 用户 ldapusre11 可以在 /mnt/nfssecure/confidential 上建立文件,这些文件系统在系统启动时自动挂载
showmount -e system1 查询system1能挂载 的目录 mkdir /mnt/nfsmount 建立目录 vim /etc/fstab 编辑fstab文件 system1.rhce.com:/public /mnt/nfsmount nfs defaults 0 0 mount -a 从新挂载 df -hT 查看是否挂载成功 mkdir /mnt/nfssecure 建立目录 wget -O /etc/krb5.keytab http://rhce.com/materials/nfs_client.keytab 客户端重启服务 systemctl restart nfs-secure systemctl enable nfs-secure vim /etc/fstab system1.rhce.com:/protected /mnt/nfssecure nfs defaults,v4.2,sec=krb5p 0 0 mount -a 从新挂载 df -hT 查看是否挂载成功 ssh ldapuser11@system2.rche.cc 远程链接 cd /mnt/nfssecure/confidential touch 1 建立文件测试
12.配置 web 站点system1 上配置一个站点 http://system1.rhce.com 而后执行下述步骤:
从 http://rhce.com/materials/station.html下载文件,而且将文件重命名为 index.html 不要修改此文件的内容
将文件 index.html 拷贝到您的 web 服务器的 DocumentRoot 目录下来自于 rhce.com 域的客户端能够访问此 Web 服务来自于 my133t.org 域的客户端拒绝访问此 Web 服务
yum groupinstall web* -y 安装web服务 systemctl restart httpd 重启httpd服务 systemctl enable httpd 设置开机自启 vim /etc/httpd/conf/httpd.conf 编辑http配置文件 ServerName system1.rhce.com:80 更改服务站点 wget -O /var/www/html/index.html http://rhce.com/materials/station.html 下载station.html到/var/www/html firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.122.0/24" service name="http" accept' 防火墙策略放行http firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.122.0/24" service name="http" accept' --permanent 防火墙策略永远放行http systemctl restart httpd 重启httpd vim /etc/hosts 编辑hosts文件 192.168.122.100 system1.rhce.com
13.配置安全 web 服务为 站 点http://system1.rhce.com 配 置 TLS 加 密一 个 已 签 名 证 书 从http://rhce.com/materials/system1.crt获 取此 证 书 的 密 钥 从http://rhce.com/materials/system1.key 获 取此 证 书 的 签 名 授 权 信 息 从http://rhce.com/materials/domain11.crt 获取
cd /etc/httpd/conf 移动到conf目录 wget http://rhce.com/materials/system1.crt 下载crt wget http://rhce.com/materials/system1.key 下载key wget http://rhce.com/materials/domain11.crt 下载crt cd /etc/httpd/conf.d/ 移动到conf.d目录 vim ssl.conf 编辑 ssl.com SSLCertificateFile /etc/httpd/conf/system1.crt 修改 SSLCertificateKeyFile /etc/httpd/conf/system1.key 修改 SSLCertificateChainFile /etc/httpd/conf/domain11.crt 修改 systemctl restart httpd 重启httpd服务 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
14.配置虚拟主机在 system1 上扩展您的 web 服务器,为站点 http://www..rhce.com 建立一个虚拟主机,而后
执行下述步骤:设置 DocumentRoot 为 /var/www/virtual从 http://rhce.com/materials/www.html,下载文件并重命名为 index.html 不要对文件 index.html 的内容作任何修改将文件 index.html 放到虚拟主机的 DocumentRoot 目录下
确保 andy 用户可以在 /var/www/virtual 目录下建立文件,注意:原始站点 http://system1.rhce.com 必须仍然可以访问, 名称服务器 rhce.com 提供对主机名 www.rhce.com 的域名解析
ping www.rhce.com 64 bytes from 192.168.122.100: icmp_seq=2 ttl=64 time=1.12 ms vim /etc/hosts 编辑hosts文件 192.168.122.100 www.rhce.com 将IP对应域名加进去 mkdir /var/www/virtual 建立目录 wget -O /var/www/virtual/index.html http://rhgls.rhce.com/materials/www.html 下载www.html到/var/www/virtual/index.html setfacl -m u:andy:rwx /var/www/virtual/ 针对andy用户对virtual目录设置可读可写可执行权限 cd /etc/httpd/conf.d/ cp /usr/share/doc/httpd-2.4.6/httpd-vhosts.comf vhost.conf vim /vhost.conf <VirtualHost www.rhce.com:80> 写进新的站点到虚拟主机里 DocumentRoot /var/www/virtual Serv erName www.rhce.com </VirtualHost> <VirtualHost system1.rhce.com:80> 将原有的站点写到虚拟主机里 DocumentRoot /var/www/html ServerName system1.rhce.com </VirtualHost> systemcat restart httpd
15.配置 web 内容的访问在您的 system1 上的 web 服务器的 DocumentRoot 目录下 建立一个名为 secret 的目录,
要求以下:从 http://rhce.com/materials/private.html 下载一个文件副本到这个目录,而且重命名为 index.html。
不要对这个文件的内容作任何修改。从 system1 上,任何人均可以浏览 secret 的内容, 可是从其它系统不能访问这个目录的内容
mkdir /var/www/html/secret/ 建立目录 mkdir /var/www/virtual/secret/ 建立目录 wget -O /var/www/html/secret/index.html http://rhgls.rhce.com/materials/private.html wget -O /var/www/virtual/secret/index.html http://rhgls.rhce.com/materials/private.html cd /etc/httpd/conf.d/ vim vhost.conf <Directory "/var/www/html/secret"> ALLowOverride None Require local </Directory> <Directory "/var/www/virtual/secret"> ALLowOverride None Require local </Directory> systemctl restart htppd 从新启动httpd服务 curl -s www.rhce.com/secret/index.html 本机验证浏览
16.实现动态 Web 内容在 system1 上配置提供动态 Web 内容,要求以下:www.rhce.com
动态内容由名为 dynamic.rhce.com 的虚拟主机提供虚拟主机侦听在端口 8998
从 http://rhce.com/materials/webapp.wsgi 下载一个脚本,而后放在适当的位置, 不管如何不要求修改此文件的内容
客户端访问 http://dynamic.rhce.com:8998/ 时 应该接收到动态生成的 web 页面此 http://dynamic.rhce.com:8998/ 必须能被 rhce.com 域内的全部系统访问
ping dynamic.rhce.com dynamic firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.122.0/24" port port="8998" protocol="tcp" accept' --permanent vim /etc/httpd/conf/httpd.conf Listen 8998 vim /etc/httpd/conf.d/vhosts.conf <VirtualHost dynamic.rhce.com:8998> 写进新的站点到虚拟主机里 DocumentRoot /var/www/html/yy ServerName dynamic.rhce.com </VirtualHost> mkdir /var/www/html/yy yum install mod_wsgi -y wget -p /var/www/html/yy http://rhgls.rhce.com/materials/webapp.wsgi vim vhosts.conf WSGIScriptAlias / /var/www/html/yy/webapp.wsgi 添加一个 vim /etc/ssh/sshd_config 找到模板 yum install policycoreutils-python.x86_64 安装semanage 软件包 semanage port -a -t http_port_t -p tcp 8998 更改 上下文 systemctl restart httpd
17.建立一个脚本在 system1 上建立一个名为 /root/script 的脚本, 让其提供下列特性:当运行 /root/script foo,输出为 bar当运行 /root/script bar,输出为 foo,当没有任何参数或者参数不是 foo 或者 bar 时, 其错误输出产生如下的信息:
/root/script foo|bar,
vim /root/script 建立script文件 #!/bin/bash 此脚本使用/bin/bash来解释执行,只能放到第一行,若是后面还有#!,那么只能当作是注释。(#!是一个特殊的表示符,其后,跟着解释此脚本的shell路径。) case $1 in foo) echo bar ;; 结束 bar) echo foo ;; 结束 *) echo '/root/script foo|bar' ;; esac chmod +x script
18.建立一个添加用户的脚本在 system1 上建立一个脚本,名为 /root/mkusers , 此脚本能实现为系统 system1 建立本地用户, 而且这些用户 的用户名来自一个包含用户名列表的文件。同时知足下列要求:此脚本要求提供一个参数,此参数就是包含用户名列表的文件若是没有提供参数,此脚本应该给出下面的提示信息 Usage: /root/mkusers 而后退出并
返回相应的值若是提供一个不存在的文件名,此脚本应该给出下面的提示信息 Input file not found 然
后退出并返回相应的值,建立的用户登陆 shell 为 /bin/false,此脚本不须要为用户设置密码
您能够从下面的 URL 获取用户名列表做为测试用 http://rhce.com/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
19.配置 iSCSI 服务端配置 system1 提供一个 iSCSI 服务 磁盘名为 iqn.2014-09.com.example.domain11:system1 ,
并符合下列要求:服务端口为 3260,使用 iscsi_vol 做其后端卷 其大小为 3G,此服务只能被 system2.rhce.com 访问
yum install target* -y 安装target systemctl restart target systemctl enable target fdisk /dev/vda 建立一个3g的主分区 partprobe /dev/vda targetcli ls / /backstores/block create iscsi_vol /dev/vda4 建立block ls / /iscsi create iqn.2014-09.com.example.domain11:system1 建立target cd /iscsi iqn.2014-09.com.example.domain11:system1/tpg1/ 进入tpg1 acls/ create iqn.2014-09.com.example.domain11:xx 建立acls ls / luns/ create /backstores/block/iscsi_vol 建立luns portals/ create 0.0.0.0 3260 绑定0.0.0.0能够访问 firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.122.200" port port="3260" protocol="tcp" accept' --permanent
20.配置 iSCSI 的客户端,配置 system2 使其能链接在 system1 的上提供的 iqn.2014-09.com.example.domain11:system1,并符合如下要求:iSCSI 设备在系统启动的期间自动加载
块设备 iSCSI 上包含一个大小为 1700 MiB 的分区,并格式化为 xfs,此分区挂载在 /mnt/data 上 同时在系统启动的期间自动挂载
yum install iscsi* -y 安装iscsi vim /etc/iscsi/initiatorname.iscsi 改成system1ACL的值 systemctl restart iscsid 重启iscid systemctl enable iscsid 开机自启 iscsiadm -m discovery -t st -p system1.rhce.com -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 mount -a df -hT
21.配置一个数据库在 system1 上建立一个 MariaDB 数据库, 名为 Contacts ,并符合如下条件:
数 据 库 应 该 包 含 来 自 数 据 库 复 制 的 内 容 , 复 制 文 件 的 URL 为
http://rhce.com/materials/users.mdb 。数据库只能被 localhost 访问。
除了 root 用户, 此数据库只能被用户 Luigi 查询。 此用户密码为 redhat。
root 用户的密码为 redhat , 同时不容许空密码登陆。
yum install mariadb-server -y 安装数据库 systemctl restart mariadb 启动数据库 systemctl enable mariadb 设置开机自启 mysql 进入数据库 show databases; 查询数据库 create database Contacts; 建立数据库 exit 退出 wget http://rhce.com/materials/users.mdb 下载 mysql 进入数据库 use Contacts; 登陆数据库 source /root/users.mdb 导入表 show tables; 查看数据库的表 默认状况只能localhos访问 grant select on Contacts.* to Luigi@'localhost' identified by 'redhat'; 设置Luigi用户访问数据库 set password=password('redaht'); 设置密码
22.数据库查询,在系统 system1 上使用数据库 Contacts , 并使用相应的 SQL 查询以回答下列问题:
密码是 tangerine 的人的名字?有多少人的姓名是 John 同时居住在 Santa Clara?
mysql -uroot -predhat use Contacts show tables; select * from name join pass where name.aid=pass.bid;考试换成英文题 会提示让填什么name select * from name join loc where name.aid=loc.cid; select * from name join loc where name.aid=loc.cid and firstname='John' and location='Santa Clara'; 1 考试直接蒙1