RHCE7 题库

RHCE7考试模拟题

午RHCE部分

您在考试中将使用到两个系统的信息如下:

system1.group8.example.com : 作为服务器

system2.group8.example.com : 作为客户端

两个系统的root密码为redhat

系统的IP地址有DHCP提供,您可以视为正常,或者您可以按照一下信息重新设置未静态IP:

system1.group8.example.com : 172.24.8.11/24

system2.group8.example.com : 172.24.8.12/24

两个系统均为DNS域group8.example.com的成员。除非特别指名,不然所有要求配置的网络服务都必须能被该域的系统访问。

server.group8.example.com 提供了集中认证的服务器为group8.example.com。两个系统system1和system2都已经预先配置成此域的客户端。

server.group8.example.com 提供了YUM软件仓库,URL是 http://server.group8.example.com/yum 。

防火墙是默认打开的,在您认为适当的时候可以关闭。其他防火墙的设置可能在单独的要求中。

my133.org(172.13.8.0/24)作为不可信网络。

 

第一题:设定SELinux

在 system1 和 system2 上要求 SELinux 的工作模式为 enforcing :

要求系统重启后依然生效。

vim /etc/selinux/config            #编辑seliunx配置文件

SELINUX=enforcing               #设置运行模式为强制执行

setenforce 1                     #设置当前模式为强制执行

getenforce                       #查看当前selinux运行模式

 

第二题:配置防火墙

请按下列要求在 system1 和 system2 上设定防火墙系统:

允许 group8.example.com 域的客户对 system1 和 system2 进行 ssh 访问。

禁止 my133t.org 域的客户对 system1 和 system2 进行 ssh 访问。

备注: my133t.org 是在 172.13.8.0/24 网络

方法1:命令行实现

systemctl mask iptables          #屏蔽iptables,不让它启动。

systemctl mask ip6tables         #屏蔽ip6tables,不让它启动。

systemctl enable firewalld       #设置开机自动启动firewall服务

systemctl start firewalld        #设置立即开启firewall服务

firewall-cmd --permanent --add-service=ssh     #设置永久开放ssh服务

firewall-cmd --permanent --add-rich-rule=‘rule family=ipv4 source address=172.13.8.0/24 service name=ssh  reject‘ #设置SSH服务拒绝某一网段的访问

firewall-cmd  --reload  #重读配置文件

firewall-cmd  --list-all  #防火墙规则列表

 

 

方法2:用firewall-config 图形工具

 

 

 

 

 

 

第三题:自定义用户环境

在系统system1和system2上创建自定义命令为qstat ,要求:

此自定义命令将执行以下命令:/bin/ps -Ao pid,tt,user,fname,rsz

此命令对系统中的所有用户有效

vim /etc/bashrc                  #设置为别名并且开机启动

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

. /etc/bashrc                     #让配置文件立即生效

qstat                            #检查

 

第四题:配置端口转发

在系统 system1 设定端口转发,要求:

在172.24.8.0/24网络中的系统,访问system1的本地端口 5423 将被转发到 80

此设置必须永久有效

方法1:命令行工具实现

#设置TCP协议 5423端口转发80端口

firewall-cmd --permanent  --add-rich-rule=‘rule family=ipv4 source address=172.24.8.0/24 forward-port port=5423 protocol=tcp to-port=80‘

#设置UDP协议 5423端口转发80端口

firewall-cmd --permanent  --add-rich-rule=‘rule family=ipv4 source address=172.24.8.0/24 forward-port port=5423 protocol=udp to-port=80‘

#更新防火墙规则

firewall-cmd  --reload

#查看防火墙规则列表

Firewall-cmd  --list-all

 

方法2:图形工具实现

运行firewall-config打开图形工具

 

第五题:配置链路聚合                          

在system2和system1之间按以下要求设定一个链路:

此链路使用接口eth1和eth2

此链路在一个接口失效时仍然能工作

此链路在system1使用下面的地址172.16.3.40/255.255.255.0

此链路在system2使用下面的地址172.16.3.45/255.255.255.0

此链路在系统重启之后依然保持正常状态

1)创建team类型的网卡,连接别名为team0,使用的模式为activebackup

activebackup 表示热备,loadbalance 表示负载均衡

nmcli connection add type team con-name team0 ifname team0

config  ‘{"runner":{"name":"activebackup"}}‘  

2)根据题目要求给team0链路接口绑定指定的IP,并且把属性改为manual

nmcli  connection modify team0 ipv4.addresses  ‘172.16.3.40/24‘  ipv4.method manual connection.autoconnect yes

3)将ens33以及ens37分别加入team0接口

nmcli  connection add type team-slave con-name team0-port1 ifname eth1 master team0

nmcli  connection add type team-slave con-name team0-port2 ifname eth2 master team0

 

4)启动接口中的网卡

nmcli connection up team0-port1

nmcli connection up team0-port2

nmcli connection up team0

 

 

5)验证

#查看网卡是否正常

nmcli device status

teamdctl team0 state     #查看聚合网卡中的主网卡

 

6)在system2上面也按照上面的步骤操作一遍

特别注释需要启动team0-port1 up team0-port2 team0才有高可用功能。

等会尝试一下将聚合网卡模式改为负载均衡

 

 

 

 

第六题:配置IPV6地址

在考试系统上设定接口eth0使用下列IPV6地址:

system1上的地址应该是2003:ac18::305/64

system2上的地址应该是2003:ac18::30a/64

两个系统必须能与网络2003:ac18/64内的系统通信

地址必须在重启后依然生效

两个系统必须保持当前的IPV4地址并能通信

方法1:命令行实现

nmcli connection modify eth0 ipv6.method manual ipv6.addresses 2003:ac18::305/64 connection.autoconnect yes          #设置IPV6地址  

nmcli connection up eth0            #重启网卡

Ifconfig                          #查看网卡信息

ping6 2003:ac18::305  #ping server1的IPV6地址

ping6 2003:ac18::30a  #ping server2的IPV6地址

 

方法2:nm-connection-editor 图形配置实验

nmcli con reload            #重读配置文件

nmcli con down eth0        #关闭网卡

nmcli con up eth0           #启用网卡

ping6 2003:ac18::305  #ping server1的IPV6地址

ping6 2003:ac18::30a  #ping server2的IPV6地址

 

第七题:配置本地邮件服务

在系统 system2 和system1 上配置邮件服务,要求:

这些系统不接受外部发送来的邮件

在这些系统上本地发送的任何邮件都会自动路由到mail.group8.example.com

从这些系统上发送的邮件显示来自于server.group8.example.com

您可以通过发送邮件到本地用户 dave 来测试您的配置,

系统 server.group8.example.com 已经配置把此用户的邮件转到URL

http://server.group8.example.com/pub/received_mail/8

1)安装

yum install postfix -y     cneots6 centos7默认安装 rpm -q postfix

systemctl enable postfix    cneots6 centos7默认自启  systemctl is-enabled postfix.service

2)修改配置

vim /etc/postfix/main.cf           #可以编辑配置文件修改,也可以使用命令修改

postconf  -e "inet_interfaces = loopback-only" #监听本地回环接口默认值,可不加

postconf  -e "myorigin = server.group8.example.com"    #设置本地邮件显示来源域

postconf  -e "relayhost = [mail.group8.example.com]"    #指定中继邮件服务器

postconf  -e "mydestination = "   #不接受任何邮件

postconf  -e "local_transport = error: local delivery disabled"  #默认值,可不加

postconf  -e "mynetworks = 127.0.0.0/8, [::1]/128"  #本地网络

3)修改配置就重启

systemctl restart postfix

postconf    #可查看设置         

4)配置完成,使用mail命令发送一封邮件测试

mail -s fuxk [email protected]

erwerwr

.

EOT

curl http://server.group8.example.com/pub/received_mail/8多试几次,可以看到邮件

 

第八题:通过 SMB 共享目录

在 system1 上配置SMB服务 ,要求:

您的 SMB 服务器必须是 STAFF 工作组的一个成员

共享 /common 目录,共享名必须为 common

只有 group8.example.com 域内的客户端可以访问common共享

common 必须是可以浏览的

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

 

1)安装包和准备共享目录

yum -y install samba samba-client 

#立即启动服务

systemctl start smb nmb

systemctl status smb nmb

#设置开机自动启动服务

systemctl enable  smb nmb

systemctl is-enabled smb nmb

 

2)设置防火墙策略 

firewall-cmd --permanent --add-service=samba  #允许samba服务通过防火墙

firewall-cmd --reload    #刷新权限

Firewall-cmd --list-all    #查看防火墙策略

 

3)创建共享文件夹

mkdir /common  

 

4)设置目录权限

(1)#设置ACL权限允许andy对/common目录进行读写执行权限

setfacl –m u:andy:rwx /common

 

5)设置目录的SElinux标签

chcon -t  samba_share_t  /common

 

                

 

 

 

6)创建samba用户

#创建andy系统用户

useradd -s /sbin/nologin  andy

#创建samba用户

smbpasswd -a andy 

#输入密码

redhat

#再次输入密码

redhat

 

6)设置samba服务配置文件     #centos6里面有很多注释

vim /etc/samba/smb.conf         #centos7里面全部都是干货

 workgroup = STAFF   #按照题目要求修改工作组    不可省略

[common]       #共享名    不可省略

path = /common    #共享文件路径              不可省略

comment = redhat  #描述信息(可改可不改)

hosts allow= 172.24.8.  #允许访问的主机     不可省略

write list = andy       #写入权限的列表       不可省略

browseable = yes      #是否允许浏览         不可省略

 

#重启服务

systemctl restart  smb

 

7)测试

smbclient -L 172.24.8.11 查看到共享                成功!

touch /root/{a,b}

touch /common/{c,d}

smbclient  //172.24.8.11/common  -Uandy%redhat        成功!

smb: \> get c 成功

smb: \> put a 成功

smb: \> exit

 

 

 

 

第九题:配置多用户SMB挂载

在 system1 通过 SMB 共享目录 /devops ,并满足下列要求:

共享名为 devops

共享目录 devops 只能 group8.example.com 域中的客户端使用

共享目录 devops 必须可以被浏览

用户 silene 必须能以读的方式访问此共享,访问密码是redhat

用户 akira 必须能以读写的方式访问此共享,访问密码是redhat

此共享永久挂载在 system2.group8.example.com 上的 /mnt/dev 目录,

并使用用户 silene 作为认证任何用户,可以通过用户 akira 来临时获取写的权限

 

1)创建共享文件夹

mkdir /devops  

 

2)设置目录的SElinux标签

chcon -t  samba_share_t  /devops

3) 设置目录权限

设置ACL权限

setfacl -m u:silene:rx /devops

setfacl -m u:akira:rwx /devops

 

4)创建samba用户

#创建silene用户

smbpasswd -a silene 

#输入密码

redhat

#再次输入密码

redhat

 

#创建akira用户

smbpasswd -a akira 

#输入密码

redhat

#再次输入密码

redhat

 

5)设置samba服务配置文件     #centos6里面有很多注释

vim /etc/samba/smb.conf         #centos7里面全部都是干货

workgroup = STAFF   #按照题目要求修改工作组    不可省略

[devops]         #共享名    不可省略

path = /devops    #共享文件路径              不可省略

comment = redhat  #描述信息(可改可不改)

hosts allow= 172.24.8.  #允许访问的主机     不可省略

write list = akira       #写入权限的列表       不可省略

browseable = yes      #是否允许浏览

 

5) 重启服务

systemctl restart  smb

 

7)测试

smbclient -L 172.24.8.11 查看到共享              

touch /root/{a,b}

touch /common/{c,d}

smbclient //172.24.8.11/devops -Uakira%redhat      

smb: \> get c 成功

smb: \> put a 成功

smb: \> exit

smbclient //172.24.8.11/devops -Usilene%redhat            

smb: \> get d 成功

smb: \> put b 失败

smb: \> exit

#接下来在system2上面进行操作!!!!!

1) 安装包和准备挂载点

#安装软件

yum -y install cifs-utils 

yum -y install samba-client #必须安装否则显示没有smbclient命令,无法访问共享文件。

#创建挂载点

mkdir /mnt/dev

 

2) 实现多用户挂载

#将silene用户写入文件里面(避免在fstab里面写入明文密码)

echo ‘username=silene‘ >/root/smb-multiuser.txt

#将brian用户密码写入文件里面(避免在fstab里面写入明文密码)

echo ‘password=redhat‘ >>/root/smb-multiuser.txt

 

#把挂载信息写入文件,以后开机自动挂载

vim /etc/fstab

//172.24.8.11/devops /mnt/dev cifs credentials=/root/smb-multiuser.txt,multiuser,sec=ntlmssp  0  0

或者

//172.24.8.11/devops /mnt/dev cifs defaults,multiuser,username=silene,password=redhat,sec=ntlmssp 0 0

#重新加载挂载信息

mount  -a

 

3)切换用户

su - akira

#授权

cifscreds add 172.24.8.11

#输入密码

redhat

echo "Multiuser" >/mnt/dev/akira.txt  成功写入

 

第十题:配置NFS服务

在 system1 配置NFS服务,要求如下:

以只读的方式共享目录 /public ,同时只能被 group8.example.com 域中的系统访问

以读写的方式共享目录 /protected ,同时只能被 group8.example.com 域中的系统访问

访问 /protected 需要通过Kerberos安全加密,您可以使用下面URL提供的密钥

     http://server.group8.example.com/pub/keytabs/system1.keytab

目录 /protected 应该包含名为 project 拥有人为 andres 的子目录

用户 andres 能以读写方式访问 /protected/project

yum install nfs-utils           #安装软件包     实验环境中这项忽略!!!(已安装)

systemctl start nfs-server     #立即启用该服务

systemctl enable nfs-server     #开机启用该服务

firewall-cmd --permanent --add-service=nfs       #设置防火墙允许该服务

firewall-cmd --permanent --add-service=rpc-bind   #设置防火墙允许该服务

firewall-cmd --permanent --add-service=mountd   #设置防火墙允许该服务

firewall-cmd –reload      #重读防火墙配置

firewall-cmd --list-all      #查看防火墙策略列表

mkdir /public            #创建共享文件夹

mkdir /protected/project –pv       #创建共享文件夹

chown andres /protected/project  #设置该目录所有人

chmod 770

 /protected/project     #修改该目录权限

chcon  -t  public_content_t /public/    #设置目录的SElinux标签   这个标签为什么是

chcon  -t  public_content_t /protected/  #设置目录的SElinux标签

chcon  -t  public_content_t /protected/project/ #设置目录的SElinux标签

wget -O /etc/krb5.keytab http://server.group8.example.com/pub/keytabs/system1.keytab

#下载密钥文件并且重命名

vim /etc/exports            #修改配置文件

/public   *.group8.example.com(ro)    #设置/public只读权限

/protected  *.group8.example.com(rw,sec=krb5p,sync)  #设置/protected 读写权限

 

vim /etc/sysconfig/nfs    #修改配置文件

# Optional arguments passed to rpc.nfsd. See rpc.nfsd(8)

RPCNFSDARGS="-V  4.2"#设置nfs的工作模式是4.2版本

 

systemctl restart nfs-server    nfs-secure-server  #重启该服务

systemctl enable nfs-server    nfs-secure-server  #开机启用该服务

 

exportfs -r   #生效

exportfs     #查看

 

第十一题:在 system2 上挂载一个来自 system1.group8.example.com 的NFS共享,

并符合下列要求:

/public 挂载在下面的目录上 /mnt/nfsmount

/protected挂载在下面的目录上 /mnt/nfssecure 并使用安全的方式,

密钥下载URL如下:

http://server.group8.example.com/pub/keytabs/system2.keytab

用户 andres 能够在 /mnt/nfssecure/project 上创建文件

这些文件系统在系统启动时自动挂载    如果无法解析主机名可能是nmb服务未开启!!!

SYSTEM2

mkdir /mnt/nfsmount /mnt/nfssecure    #创建挂载点

wget -O /etc/krb5.keytab http://server.group8.example.com/pub/keytabs/system2.keytab

#下载密钥并且重命名

vim /etc/fstab          #编辑配置文件

172.24.8.11:/public    /mnt/nfsmount nfs defaults 0 0    #填写挂载信息

172.24.8.11:/protected /mnt/nfssecure nfs defaults,sec=krb5p,v4.2 0 0

 

systemctl start nfs-secure      #立即启用该服务

systemctl enable nfs-secure    #开机启用该服务

mount a                   #重读挂载信息

 

验证:

su  andres                  #切换到该用户

kinit                        #获取令牌

klist                         #查看令牌

cd /mnt/nfssecure/project       #进入目录

touch hello                     #创建一个文件

 

第十二题:实现一个 web 服务器

在 system1 上配置一个站点 http://system1.group8.example.com/,然后执行下述步骤:

从 http://server.group8.example.com/pub/system1.html 下载文件,并且将文件重名为 index.html 不要修改此文件的内容

将文件 index.html 拷贝到您的 web 服务器的 DocumentRoot 目录下

来自于 group8.example.com 域的客户端可以访问此web服务

来自于my133t.org域的客户端拒绝访问此web服务

1)安装包和防火墙配置

yum install httpd         #安装软件包

systemctl enable httpd    #开机启用该服务

systemctl start httpd      #立即启用该服务

 

2)防火墙配置

firewall-cmd --permanent --add-service=http    #设置防火墙允许该服务

firewall-cmd --reload     #设置防火墙重读配置文件

firewall-cmd --list-all     #查看防火墙策略列表

 

3) 配置httpd服务  

#拷贝模版文件        

cp /usr/share/doc/httpd-2.4.6/httpd-vhosts.conf /etc/httpd/conf.d/vhosts.conf

vim /etc/httpd/conf.d/vhosts.conf           #编辑配置文件

<VirtualHost *:80>                        #编辑端口

    ServerName system1.group8.example.com   #编辑站点名

    DocumentRoot "/var/www/html"

    <Directory "/var/www/html">

    <RequireAll>

        Require all granted

        Require  not host  .my133t.org         #编辑拒绝的域名

    </RequireAll>

    </Directory>

</VirtualHost>

 

 

wget -O /var/www/html/index.html http://server.group8.example.com/pub/system1.html

systemctl restart httpd                 #重启该服务

 

SYSTEM2: #在system2主机上面操作

curl system1.group8.example.com       #访问服务器

Site:system1.group8.example.com       #得到提示信息

#查看目录的selinux值

ll  -L -d /var/www/html

drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 /var/www/html/

 

 

第十三题:配置安全web服务

为站点 http://system1.group8.example.com 配置TLS加密:

一个已签名证书从 http://server.group8.example.com/pub/tls/certs/system1.crt 获取

此证书的密钥从 http://server.group8.example.com/pub/tls/private/system1.key 获取

此证书的签名授权信息从 http://server.group8.example.com/pub/tls/certs/ssl-ca.crt 获取

1)安装包

yum -y install httpd mod_ssl

 

2)防火墙配置

firewall-cmd --permanent --add-service=https

firewall-cmd --reload

 

4) 下载相关证书文件

wget -O /etc/pki/tls/certs/system1.crt  http://server.group8.example.com/pub/tls/certs/system1.crt

wget -O /etc/pki/tls/private/system1.key

http://server.group8.example.com/pub/tls/private/system1.key 

wget -O /etc/pki/tls/certs/ssl-ca.crt

http://server.group8.example.com/pub/tls/certs/ssl-ca.crt

 

5) 配置https服务

cat /etc/httpd/conf.d/ssl.conf|grep -v "^#.*"   #模版文件

复制这几行作为模板修改

 

vim /etc/httpd/conf.d/vhosts.conf

<VirtualHost *:443>

    DocumentRoot "/var/www/html"

    ServerName system1.group8.example.com:443

    <Directory "/var/www/html">

        <RequireAll>

        Require all granted

        Require not host .my133t.org

        </RequireAll>

    </Directory>

    SSLEngine on

    SSLProtocol all -SSLv2

    SSLCertificateFile /etc/pki/tls/certs/system1.crt

    SSLCertificateKeyFile /etc/pki/tls/private/system1.key

SSLCACertificateFile /etc/pki/tls/certs/ssl-ca.crt

</VirtualHost>

 

 

 

systemctl restart httpd   #重启该服务

 

5)测试

SYSTEM2

curl -k https://system1.group8.example.com   #访问该站点

Site:system1.group8.example.com            #显示信息

 

 

第十四题:配置虚拟主机

在 system1 上扩展您的web服务器,为站点 http://www8.group8.example.com 创建一个虚拟主机,然后执行下述步骤:

设置 DocumentRoot 为 /var/www/virtual

从 http://server.group8.example.com/pub/www8.html 下载文件重名为 index.html ,不要对文件 index.html 的内容做任何修改

将文件 index.html 放到虚拟主机的 DocumentRoot 目录下

确保 andy 用户能够在 /var/www/virtual 目录下创建文件

注意:原站点 http://system1.group8.example.com 必须仍然能够访问,名称服务器 server.group8.example.com 已经提供对主机名 www8.group8.example.com 的域名解析

1)安装包和配置防火墙

yum install httpd       #安装软件包

systemctl enable httpd   #开机启用该服务

firewall-cmd --permanent --add-service=http   #设置防火墙允许该服务

firewall-cmd --reload   #重读防火墙策略

 

2)准备虚拟网站的目录和网页文件

mkdir -p /var/www/virtual           #创建虚拟机文件夹

wget -O /var/www/virtual/index.html http://server.group8.example.com/pub/www8.html

 

3)设置SELinux

chcon -t  httpd_sys_content_t  /var/www/virtual     #编辑SELinux标签

或者

semanage fcontext -a -t httpd_sys_content_t ‘/var/www/virtual(/.*)?‘

restorecon -R /var/www/virtual

 

4)实现用户的权限控制

id andy    #如果用户不存在就自己建立

setfacl  -m  u:andy:rwx  /var/www/virtual/      #编辑文件夹ACL权限

 

5)配置虚拟服务器

vim /etc/httpd/conf.d/vhosts.conf

<VirtualHost *:80>

    ServerName  www8.group8.example.com  #编辑站点名

    DocumentRoot "/var/www/virtual"  #编辑根目录

<Directory "/var/www/virtual">

    <RequireAll>

        Require all granted

        </RequireAll>

    </Directory>

</VirtualHost>

 

systemctl restart httpd

 

 

6)测试

SYSTEM2:

curl www8.group8.example.com     #访问站点

Site:www8.group8.example.com     #显示信息

 

第十五题:配置 web 内容的访问

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

从 http://server.group8.example.com/pub/private.html 下载一个文件副本到这个目录,并且重命名为 index.html

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

从 system1 上,任何人都可以浏览 private 的内容,但是从其它系统不能访问这个目录的内容。备注:此题目是接着上一题,所以这里的DocumentRoot指的就是上面的/var/www/virtual/ !!!

1)准备相关目录和文件

mkdir -p /var/www/virtual/private           #创建文件夹

wget -O /var/www/virtual/private/index.html   #下载并重命令文件

http://server.group8.example.com/pub/private.html

 

2)配置httpd服务 

vim /etc/httpd/conf.d/vhosts.conf    #编辑配置

不需要全部新加,要在原来的基础上进行修改 !!!只需添加红色字

<VirtualHost *:80>                    #配给端口

    ServerName  www8.group8.example.com  #编辑站点名

    DocumentRoot "/var/www/virtual"    #编辑根目录地址

    <Directory "/var/www/virtual">

     <RequireAll>   

Require all granted

     </RequireAll>  

     </Directory>

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

        Require all denied

        Require local     #设置只允许本机访问

    </Directory>

 

</VirtualHost>

 

3)systemctl restart httpd      #重启该服务

 

4)测试

SYSTEM1测试:

curl http://www8.group8.example.com/private/

This a private file,only for local access!

 

SYSTEM1测试:

curl http://www8.group8.example.com/private/

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">

<html><head>

<title>403 Forbidden</title>

</head><body>

<h1>Forbidden</h1>

<p>You don‘t have permission to access /private/

on this server.</p>

</body></html>

 

 

 

 

第十六题:实现动态WEB内容

在 system1 上配置提供动态web内容,要求:

动态内容由名为 wsgi.group8.example.com 的虚拟主机提供

虚拟主机侦听在端口 8909

从 http://server.group8.example.com/pub/webinfo.wsgi 下载一个脚本,然后放在适当的位置,无论如何不要求修改此文件的内容

客户端访问 http://wsgi.group8.example.com:8909/ 时,应该接收到动态生成的web页面

此 http://wsgi.group8.example.com:8909/ 必须能被 group8.example.com 域内的所有系统访问

1)安装包

yum -y install httpd mod_wsgi       #安装软件包 

systemctl is-enabled httpd || systemctl enable httpd    #设置该服务开机启用

 

2)准备httpd相关目录和文件

mkdir -p /var/www/wsgi.group8         #创建文件夹

wget -O /var/www/wsgi.group8/webinfo.wsgi http://server.group8.example.com/pub/webinfo.wsgi  #下载并重命名文件

 

3)设置SELinux

semanage port -a -t http_port_t -p tcp 8909     #设置SELinux标签

chcon -t httpd_sys_content_t  /var/www/wsgi.group8  [#默认设置,可不执行]

 

4)设置防火墙

firewall-cmd  --permanent  --add-port=8909/tcp   #设置防火墙开启该端口

firewall-cmd  --reload    #重读防火墙配置

firewall-cmd --list-all     #查看防火墙策略列表

 

5)设置httpd虚拟机

vim /etc/httpd/conf.d/vhosts.conf

Listen 8909

<VirtualHost *:8909>     #设置端口号

   WSGIScriptAlias  /  /var/www/wsgi.group8/webinfo.wsgi  #设置动态文件地址

</VirtualHost>

 

systemctl restart httpd       #重启该服务

 

6)测试

SYSTEM1:

curl wsgi.group8.example.com:8909

This Dynamic WSGI Page Was Generated at:

Tue Jul  3 11:13:18 2018

 

Web总结

 

W

 

 

 

 

 

 

第十七题:

创建一个脚本

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

当运行 /root/foo.sh redhat ,输出为 fedora

当运行 /root/foo.sh fedora ,输出为 redhat

当没有任何参数或者参数不是 redhat 或者 fedora 时,其错误输出产生以下的信息:

 /root/foo.sh redhat | fedora

 

SYSTEM1:

vim /root/foo.sh      #创建脚本文件

#!/bin/bash            #设置解释器为bash

if [ "$1" = "redhat" ];then   #如果输入值等于redhat

        echo "fedora"      #则打印 fedora

elif [ "$1" = "fedora" ];then    #反之如果输入的值等于fedo

        echo "redhat"        #则打印redhat

else                           #如果输入是其他值

        echo "/root/foo.sh redhat | fedora" 1>&2  #则输出该行

fi     

 

chmod 777 /root/foo.sh   #给脚本文件设置权限

 

测试:

[[email protected] ~]# /root/foo.sh redhat

fedora

[[email protected] ~]# /root/foo.sh fedora

redhat

[[email protected] ~]# /root/foo.sh > /dev/null

/root/foo.sh redhat | fedora

 

 

 

 

第十八题:   创建一个添加用户的脚本

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

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

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

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

创建的用户登录shell为 /bin/false

此脚本不需要为用户设置密码

可以从下面的URL获取用户名列表作为测试http://server.group8.example.com/pub/userlist

#创建配置文件

vim /root/batchusers.sh     

#!/bin/bash

if [ $# -eq 1 ];then

       if [ -f "$1" ];then

            while read username ;do

            useradd -s /bin/false $username

    echo redhat|passwd  --stdin $username &>/dev/null  #需要密码才加入

                done < $1

        else

                echo "Input file not found"

                exit 1

        fi

else

        echo "Usage: /root/barchusers userfile"

        exit 2

fi

 

chmod  +x  /root/batchusers   #设置文件权限

 

wget -O /root/userlist http://server.group8.example.com/pub/userlist  #下载用户列表

 

#测试

 

/root/batchusers

Usage: /root/barchusers userfile

 

/root/batchusers haha

Input file not found

 

/root/batchusers  userlist   

 

 

第十九题:配置 ISCSI 服务端

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

1服务端口为 3260

2使用 iscsi_store 作其后端逻辑卷名称,其大小为 3G

3此服务只能被 system2.group8.example.com 访问

SYSTEM1:

yum install targetcli       #安装软件包

systemctl start target      #启用该服务

systemctl enable target     #开机启用该服务      

firewall-cmd --permanent --add-rich-rule=‘rule family="ipv4" source address=172.24.8.12 port port=3260 protocol=tcp accept‘ #允许3260端口

firewall-cmd --reload      #重读配置文件

firewall-cmd --list-all      #查看防火墙策略列表

 

fdisk /dev/sda           #编辑/dev/sda设备

5G                     #增加一个分区,容量为5G

8e                      #设置类型为LVM逻辑卷

 

partprobe               #同步磁盘信息

pvcreate /dev/sda3        #创建物理卷

vgcreate  vg0  /dev/sda3     #创建卷组

lvcreate  -L 3G -n iscsi_store vg0  #创建逻辑卷 iscsi_store并指定其大小

 

targetcli             #配置iSCSi服务器

#定义了一个本地的块设备

/> backstores/block create name=iscsi_store dev=/dev/vg0/iscsi_store 

/> cd iscsi

/iscsi> create iqn.2014-08.com.example.group8:system1  #定义了一个iscsi target

/iscsi> cd iqn.2014-08.com.example.group8:system1/  

/iscsi/iqn.20...roup8:system1> cd tpg1/

#把定义好了的块设备通过该target共享出去

/iscsi/iqn.20...:system1/tpg1> luns/ create /backstores/block/iscsi_store

/iscsi/iqn.20...:system1/tpg1> acls/ create iqn.2014-08.com.example.group8:system2

#定义target的入口(客户使用什么IP和端口访问)

/iscsi/iqn.20...:system1/tpg1> portals/ create 172.24.8.11

创建基于iqn的acl:允许该名字的客户端访问本iscsi的tagert

/iscsi/iqn.20...:system1/tpg1> set attribute authentication=0   

/iscsi/iqn.20...:system1/tpg1> set attribute generate_node_acls=0

/iscsi/iqn.20...:system1/tpg1> cd /

/> saveconfig

/> exit

 

 

第二十题:配置 iSCISI 的客户端

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

1 iSCISI 设备在系统启动的期间自动加载

2 块设备 iSCISI 上包含一个大小为 2100 MiB 的分区,并格式化为 ext4

3 此分区挂载在 /mnt/data 上,同时在系统启动的期间自动挂载

1)安装客户端软件包

yum -y install iscsi-initiator-utils

 

2)设定服务开机启动和马上启动

systemctl start iscsi  iscsid

systemctl enable iscsi  iscsid

 

 

3)配置iscsi客户端的名字,根据题目要求修改

vim /etc/iscsi/initiatorname.iscsi

InitiatorName=iqn.2014-08.com.example.group8:system2   服务器上的ACL设置要保持一致

 

systemctl restart iscsi   iscsid

 

 

4)发现target

iscsiadm -m discovery  -t  st  -p  172.24.8.11

172.24.8.11:3260,1 iqn.2014-08.com.example.group8:system1  #显示信息

 

5)登陆target

iscsiadm -m node -l

# lsblk

NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

sda      8:0    0  3G  0 disk   <----本地多了一个3G的硬盘

vda    253:0    0   10G  0 disk

└─vda1 253:1    0   10G  0 part /

vdb    253:16   0   10G  0 disk

 

6)分区并格式化

fdisk /dev/sdb

+2100M

mkfs.ext4 /dev/sdb1

blkid /dev/sdb1

/dev/sdb1: UUID="4e4dda09-6bca-4f9d-9477-843c110d856d" TYPE="ext4"

 

7) 创建挂载点

mkdir /mnt/data

 

 

 

 

7)配置开机自动挂载

mkdir /mnt/data

根据题目要求,挂载的时候需要添加_netdev参数

vim /etc/fstab  

UUID=4e4dda09-6bca-4f9d-9477-843c110d856d /mnt/data  ext4 defaults,_netdev 0 0

mount –a

 

8)删除iscsi客户端(考试不用执行)

Umount /mnt/data

iscsiadm -m node –u 注销

iscsiadm -m node -o delete 删除

 

第二十一题:配置一个数据库

在 system1上创建一个 Maria DB 数据库,名为 Contacts,要求:

1数据库应该包含来自数据库复制的内容,复制文件的URL为 http://server.group8.example.com/pub/users.mdb ,数据库只能被 localhost 访问

2除了 root 用户,此数据库只能被用户 Mary 查询,此用户密码为 redhat

3 root 用户的数据库密码为 redhat ,同时不允许空密码登录

1)安装包和启动服务

yum -y install mariadb-server

systemctl enable mariadb

systemctl start mariadb

 

2)配置防火墙

firewall-cmd  --permanent  --add-service=mysql

firewall-cmd  --reload

 

3)初始化安全设置

mysql_secure_installation

...

Disallow root login remotely? [Y/n] y  题目要求禁止root远程登陆

 

4)还原数据库

wget -O /root/users.mdb

http://server.group8.example.com/pub/users.mdb

mysql -predhat     #登录Mysql数据库

MariaDB [(none)]> create database Contacts;  #创建Contacts数据库

MariaDB [(none)]> use Contacts             #切换到Contacts数据库

MariaDB [Contacts]> source /root/users.mdb  #将备份导入Contacts数据库

MariaDB [Contacts]> show tables;     #查看Contacts数据库中的表格

 

6) 设置访问权限

MariaDB [Contacts]> grant select on Contacts.* to [email protected] identified by ‘redhat‘;

 

 

 

 

 

 

 

第二十二题:数据库查询

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

密码是fadora 的人的名字是什么?

有多少人的姓名是 John ,同时居住在 Santa Clara ?

MariaDB [Contacts]> select * from u_name right join u_passwd on u_name.userid=u_passwd.uid where password=‘fadora‘;

或:

MariaDB [Contacts]> select * from u_name,u_passwd where u_name.userid=u_passwd.uid and  password=‘fadora‘;

 

 

MariaDB [Contacts]> select * from u_name right join u_loc on u_name.userid=u_loc.uid where firstname=‘John‘ and location=‘Santa Clara‘;

MariaDB [Contacts]> select * from u_name,u_loc where u_name.userid=u_loc.uid and firstname=‘John‘ and location=‘Santa Clara‘;

 

 

 

 

 

 

 

 

 

 

 

 

原文地址:https://www.cnblogs.com/Yuopen/p/9360641.html

时间: 2024-10-29 03:50:43

RHCE7 题库的相关文章

猿题库 iOS 客户端架构设计(原文地址:http://gracelancy.com/blog/2016/01/06/ape-ios-arch-design/)

猿题库 iOS 客户端架构设计 序 猿题库是一个拥有数千万用户的创业公司,从2013年题库项目起步到2015年,团队保持了极高的生产效率,使我们的产品完成了五个大版本和数十个小版本的高速迭代.在如此快速的开发过程中,如何保证代码的质量,降低后期维护的成本,以及为项目越来越快的版本迭代速度提供支持,成为了我们关注的重要问题.这篇文章将阐明我们在猿题库 iOS 客户端的架构设计. MVC MVC,Model-View-Controller,我们从这个古老而经典的设计模式入手.采用 MVC 这个架构的

北大ACM题库习题分类与简介(转载)

在百度文库上找到的,不知是哪位大牛整理的,真的很不错! zz题 目分类 Posted by fishhead at 2007-01-13 12:44:58.0 -------------------------------------------------------------------------------- acm.pku.edu.cn 1. 排序 1423, 1694, 1723, 1727, 1763, 1788, 1828, 1838, 1840, 2201, 2376, 23

题库类产品如何计算题目的难度值

一.引言 题库类产品(如猿题库.易题库等)的一个标配功能是预测用户未来要进行的某项考试得分,我们称之为目标考试预测分.以猿题库高考为例,即将参加高考的学生通过在题库上做大量练习,练习的效果会以学生的高考预测分呈现出来,这是学生最关注的指标,也是整个题库产品中最关键的数据.为了让“预测分”数据更加准确,我们引入了能力评估模型,通过测算用户在所有知识点上的能力水平,并将其量化成为一个数值.能力评估模型中有两个重要参数:题目难度值.用户答题的正确率.简化为:A=f(an,d)其中A表示能力值,an表示

OCP读书笔记(27) - 题库(ExamG)

601.You need to perform a block media recovery on the tools01.dbf data file in the SALES database byusing Recovery Manager (RMAN).Which two are the prerequisites to perform this operation? (Choose two)A. You must configure block change tracking fileB

OCP读书笔记(25) - 题库(ExamE)

401.Which of the following are correct about block media recovery? (Choose all that apply.)A. Physical and logical block corruption is recorded automatically in V$DATABASE_BLOCK_CORRUPTION.B. Logical corruptions are repairable by BMR.C. Physical corr

OCP读书笔记(26) - 题库(ExamF)

501.Note the output of the following query;SQL> SELECT flashback_archieve_name, status FROM dba_flashback_archieve;FLASHBACK_ARCHIEVE_NAME STATUSFLA1You executed the following command to enable Flashback Data Archive on the EXCHANGB_PATE table:ALTER

OCP读书笔记(24) - 题库(ExamD)

301.Which command is used to configure RMAN to perform a compressed backup for every backupexecuted?A. BACKUP AS COMPRESSED BACKUPSET DATABASEB. BACKUP AS COMPRESSED COPY OF DATABASEC. CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSETD.

手机在线题库

         手机在线题库,布布扣,bubuko.com

051 题库

序号 OCP 051题库 1 :  OCP-1Z0-051 第1题 CTAS语句建表注意事项 2 :  OCP-1Z0-051 第2题 视图的WITH CHECK OPTION选项 3 :  OCP-1Z0-051 第3题 转义字符 4 :  OCP-1Z0-051 第4题 单行函数 5 :  OCP-1Z0-051 第5题 to_char的数字的格式 6 :  OCP-1Z0-051 第6题 case when和decode的用法 7 :  OCP-1Z0-051 第7题 ON和USING子句