RHCE考試筆記

(2)下午RHCE部分

下午RHCE部分:

 

第一題:配置SELinux

在server0和desktop0上要求SELinux的狀態為enforcing。

要求系統重啟后依然生效。

 

vim /etc/selinux/config

SELINUX=enforcing

setenforce 1

getenforce

 

第二題:配置防火墻

在server0和desktop0上設置防火墻,對SSH實現訪問限制:

允許example.com域的客戶對server0和desktop0進行ssh訪問。

禁止my133t.org域的客戶對server0和desktop0進行ssh訪問。

備注:my133t.org是在172.17.10.0/24網絡。(根據考試實際提供的網段配置)

 

systemctl mask iptables

systemctl mask ip6tables

systemctl enable firewalld

systemctl start firewalld

firewall-config ????#圖形化設置

configuration: permanent

zone :public

services :ssh

rich rules

add

family : ipv4

element :service?? ssh

action : reject

source : 172.17.10.0/24

ok

options?? reload firewalld

firewall-cmd –list-all??? #檢查是否生效

 

第三題:配置IPv6地址

在你的考試系統上配置接口eth0使用以下IPv6地址:

system1上的地址應該是2003:ac18::305/64

system2上的地址應該是2003:ac18::30a/64

兩個系統必須能與網絡2003:ac18/64內的系統通信

地址必須在重啟后依舊生效。

兩個系統必須保持當前的IPv4地址并能通信

 

nm-connection-editor

eth0 edit

ipv6 settings? manual

2003:ac18::305?? 64

ok

systemctl restart network

ping6 2003:ac18::305

 

第四題:配置鏈路聚合

在system2和system1之間按以下要求設定一個鏈路:

此鏈路使用接口eth1和eth2

此鏈路在一個接口失效時仍然能工作

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

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

此鏈路在系統重啟之后依然保持正常狀態

 

nmcli con add type team con-name team0 ifname team0 config

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

#在man teamd.conf 里面的第316行有此字段

 

nmcli con mod team0 ipv4.addresses ‘172.16.3.40/24’ ipv4.method manual

connection.autoconnect yes

 

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

 

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

 

nmcli con up team0-port1

nmcli con up team0-port2

nmcli con up team0

 

teamdctl team0 state

ping system1.group8.example.com

nmcli dev dis eth1

nmcli con up team0-port1

teamdctl team0 state

ping system1.group8.example.com

 

第五題:自定義用戶環境

在系統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

alias 驗證

 

第六題:配置本地郵件服務

在系統 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

 

systemctl status postfix

firewall-cmd –permanent –add-service=smtp???? #不確定要不要加

firewall-cmd –reload

postconf -e “inet_interfaces=loopback-only”

postconf -e “myorigin=server.group8.example.com”? ?重寫本地郵件顯示來源域

postconf -e “relayhost=[mail.group8.example.com]”? ?指定中繼郵件服務器

systemctl restart postfix

mail -s “hello” dave

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

#或者直接修改配置文件 vim /etc/postfix/main.cf 在最尾行加入

 

第七題:配置端口轉發

在系統 system1 設定端口轉發,要求:

在172.24.8.0/24網絡中的系統,訪問system1的本地端口 5423 將被轉發到 80

此設置必須永久有效。

 

firewall-config

configuration permanent

zone public

rich rules

add

family ipv4

element? forward-port?? 點旁邊框框

source?? protocol tcp ??????#tcp和udp兩個協議都要添加

port/port range 5423

destination port/port range 80

source ip 172.24.8.0/24

add

family ipv4

element? forward-port?? 點旁邊框框

source?? protocol udp?? #這一次是udp協議

port/port range 5423

destination port/port range 80

source ip 172.24.8.0/24

option? reload firewalld

firewall-cmd –list-all

 

第八題:通過SMB共享目錄

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

您的SMB服務器必須是STAFF工作組的一個成員

共享/common目錄,共享名必須為common

group8.example.com 域內的客戶端可以訪問common共享

Common必須是可以瀏覽的

用戶 andy 必須能夠讀取共享中的內容,如果需要的話,驗證密碼是redhat

 

system1:

 

yum install samba samba-client

systemctl enable? smb nmb

systemctl start smb nmb

mkdir /common

vim /etc/samba/smb.conf

workgroup = STAFF

security = user??? #確保項

passdb backend = tdbsam??? #確保項

[common]

path = /common

hosts allow = 172.24.8.??? #記得末尾有點

writable = no

browseable = yes

systemctl restart? smb nmb

firewall-cmd –permanent –add-service=samba

firewall-cmd –reload

chcon -t samba_share_t /common/

smbpasswd -a andy

password : redhat

 

在system2上驗證

yum install samba-client

smbclient? //172.24.8.11/common -U andy??? #system1 ip

 

第九題:配置多用戶SMB掛載

在 system1 通過 SMB 共享目錄 /devops ,并滿足下列要求:

共享名為 devops

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

共享目錄 devops 必須可以被瀏覽

用戶 silene 必須能以讀的方式訪問此共享,訪問密碼是redhat

用戶 akira 必須能以讀寫的方式訪問此共享,訪問密碼是redhat

此共享永久掛載在 system2.group8.example.com 上的 /mnt/dev 目錄,并使用用戶 silene 作為認證任何用戶,可以通過用戶 akira 來臨時獲取寫的權限

 

system1:

mkdir /devops

vim /etc/samba/smb.conf

[devops]

path = /devops

hosts allow = 172.24.8.

writable = no

browseable = yes

write list = akira

chcon? –t? samba_share_t? /devops

setfacl -m u:akira:rwx /devops

smbpasswd -a silene

password:redhat

smbpasswd -a akira

password:redhat

systemctl restart smb nmb

 

system2:

驗證:smbclient //system1/devops/ -U silene

yum install cifs-utils

mkdir? /mnt/dev

vim /etc/fstab

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

mount -a

驗證:

df

su – silene

cifscreds add 172.24.8.11

cd /mnt/dev

touch a

exit

su – akira

cifscreds add 172.24.8.11

cd /mnt/dev

touch a

ls

a??abc.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

 

 

systemctl? enable nfs-server nfs-secure-server

systemctl? start nfs-server? #這里直接啟動nfs-secure-server會失敗

firewall-cmd –permanent –add-service=nfs

firewall-cmd –reload

mkdir? /public

mkdir -p /protected/project

chown andres /protected/project

chcon -R -t public_content_t /public

chcon -R -t public_content_t /protected

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

vim /etc/exports

/public *.group8.example.com(ro,sec=sys,sync)

/protected *.group8.example.com(rw,sec=krb5p,sync)

/etc/sysconfig/nfs

RPCNFSDARGS=”-V 4.2″

systemctl restart nfs-server nfs-secure-server? #7.2以上nfs-secure-server會自動啟動

exportfs -ra

exportfs?? #檢驗

 

第十一題:掛載一個NFS共享

在 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 上創建文件

這些文件系統在系統啟動時自動掛載。

 

system2:

mkdir? /mnt/nfsmount? mkdir /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,sec=sys 0 0

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

systemctl enables nfs-secure

systemctl start nfs-secure

mount -a

驗證:

su -andres

klist?? #查看

kinit?? #獲取證書

cd /mnt/nfssecure/project/

touch hello

ls

#注意時間同步問題,有可能導致失敗!

 

第十二題:實現一個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服務

 

yum install httpd

systemctl enable httpd

systemctl start httpd

firewall-cmd –permanent –add-service=http

firewall-cmd –reload

firewall-cmd –list-all???? #檢測規則

cd /etc/httpd/conf.d/

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

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

<VirtualHost *:80>

DocumentRoot “/var/www/html”

ServerName system1.group8.example.com

<Directory “/var/www/html”>

<RequireAll>

Require all granted

Require not host .my133t.org

</RequireAll>

</Directory>

</virtualHost>

cd /var/www/html/???????? #注意一定要進入目錄后才下載,否則值會改變

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

systemctl restart httpd

ss -nutpl | grep -w 80?? #檢測

測試:system2

curl system1.group8.example.com

 

第十三題:配置安全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 獲取

 

system1:

yum install mod_ssl

vim /etc/httpd/conf.d/httpd-vhosts.conf??? #繼續編輯上題的文件

 

<VirtualHost *:443>

DocumentRoot “/var/www/html”

ServerName system1.group8.example.com

<Directory “/var/www/html”>

<RequireAll>

Require all granted

Require not host .my133t.org

</RequireAll>

</Directory>

SSLEngine on

SSLProtocol all -SSLv2 -SSLv3

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

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

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

</virtualHost>

 

下載證書:

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

cd /etc/pki/tls/certs/???? #檢查

cd ..

cd private/??? #繼續檢查

firewall-cmd –permanent –add-service=https

firewall-cmd –reload

firewall-cmd –list-all

systemctl restart httpd

 

檢測:system2

curl -k https://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 的域名解析

 

mkdir /var/www/virtual

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

 

setfacl -m u:andy:rwx /var/www/virtual/

 

vim /etc/httpd/conf.d/httpd-vhosts.conf?????? #繼續添加內容

 

<VirtualHost *:80>

DocumentRoot “/var/www/virtual”

ServerName www8.group8.example.com

<Directory “/var/www/virtual”>

<RequireAll>

Require all granted

</RequireAll>

</Directory>

</virtualHost>

 

httpd -t?? 檢測語法

systemctl restart httpd

system2 測試效果:

curl -k https://system1.group8.example.com

curl -k http://system1.group8.example.com

curl -k https://www8.group8.example.com

curl -k http://www8.group8.example.com

 

第十五題:配置 web 內容的訪問

在您的 system1 上的 web 服務器的 DocumentRoot 目錄下,創建一個名為 private 的目錄,要求如下:

http://server.group8.example.com/pub/private.html 下載一個文件副本到這個目錄,并且重命名為 index.html

不要對這個文件的內容做任何修改

從 system1 上,任何人都可以瀏覽 private 的內容,但是從其它系統不能訪問這個目錄的內容。

 

沒說之前搭建的哪個站點設置private文件夾,嚴謹起見,兩個站點都設立private并實現

mkdir /var/www/html/private

mkdir /var/www/virtual/private

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

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

 

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

在兩個站點段落最后分別加入:

<Directory “/var/www/html/private”>

Require all denied

Require local

</Directory>

 

<Directory “/var/www/virtual/private”>

Require all denied

Require local

</Directory>

 

分別在system1和system2上檢驗:

curl http://system1.group8.example.com/private/?? #注意此處private后的/不能省略

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

 

 

第十六題:實現動態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 域內的所有系統訪問

 

vim /etc/httpd/conf.d/httpd-vhosts.conf??? #繼續添加內容

 

Listen 8909

<VirtualHost *:8909>

ServerName wsgi.group8.example.com

WSGIScriptAlias / /var/www/html/webinfo.wsgi

</VirtualHost>

 

wget -O /var/www/html/webinfo.wsgi ?http://server.group8.example.com/pub/webinfo.wsgi

 

yum install mod_wsgi

 

firewall-cmd –permanent –add-rich-rule ‘rule family=”ipv4″ port port=8909 protocol=tcp accept’

firewall-cmd –reload

firewall-cmd –list-all

semanage port -a -t http_port_t -p tcp 8909

systemctl restart httpd

測試:

curl? http://wsgi.group8.example.com:8909/

 

Apache完成版配置文件全圖:

<VirtualHost *:80>

DocumentRoot “/var/www/html”

ServerName system1.group8.example.com

<Directory “/var/www/html”>

<RequireAll>

Require all granted

Require not host .my133t.org

</RequireAll>

</Directory>

<Directory “/var/www/html/private”>

Require all denied

Require local

</Directory>

</VirtualHost>

<VirtualHost *:443>

DocumentRoot “/var/www/html”

ServerName system1.group8.example.com

<Directory “/var/www/html”>

<RequireAll>

Require all granted

Require not host .my133t.org

</RequireAll>

</Directory>

SSLEngine on

SSLProtocol all -SSLv2 -SSLv3

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

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

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

</VirtualHost>

<VirtualHost *:80>

DocumentRoot “/var/www/virtual”

ServerName www8.group8.example.com

<Directory “/var/www/virtual”>

<RequireAll>

Require all granted

</RequireAll>

</Directory>

<Directory “/var/www/virtual/private”>

Require all denied

Require local

</Directory>

</VirtualHost>

Listen 8909

<VirtualHost *:8909>

ServerName wsgi.group8.example.com

WSGIScriptAlias / /var/www/html/webinfo.wsgi

</VirtualHost>

 

第十七題:創建一個腳本

在system1上創建一個名為 /root/foo.sh 的腳本,讓其提供下列特性:

當運行 /root/foo.sh redhat ,輸出為 fedora

當運行 /root/foo.sh fedora ,輸出為 redhat

當沒有任何參數或者參數不是 redhat 或者 fedora 時,其錯誤輸出產生以下的信息:

/root/foo.sh redhat | fedora

 

vim /root/foo.sh

#!/bin/bash

case $1 in

redhat)echo “fedora”

;;

fedora)echo “redhat”

;;

*)echo “/root/foo.sh redhat | fedora” 1>&2

;;

esac

chmod +x /root/foo.sh

 

 

第十八題:創建一個添加用戶的腳本

在 system1 上創建一個腳本,名為 /root/batchusers ,此腳本能實現為系統 system1 創建本地用戶,并且這些用戶的用戶名來自一個包含用戶名列表的文件,同時滿足下列要求:

此腳本要求提供一個參數,此參數就是包含用戶名列表的的文件

如果沒有提供參數,此腳本應該給出下面的提示信息 Usage: /root/batchusers userfile 然后退出并返回相應的值

如果提供一個不存在的文件名,此腳本應該給出下面的提示信息 Input file not found 然后退出并返回相應的值

創建的用戶登錄shell為 /bin/false

此腳本不需要為用戶設置密碼

您可以從下面的URL獲取用戶名列表作為測試用 http://server.group8.example.com/pub/userlist

 

wget http://server.group8.example.com/pub/userlist

 

vim /root/batchusers

#!/bin/bash

if [ $# -eq 1 ];then

if [ -f $1 ];then

while read username;do

useradd -s /bin/false $username &> /dev/null

done < $1

else

echo “Input file not found” 1>&2

exit 1

fi

else

echo “Usage: /root/batchusers userfile”? 1>&2

exit 2

fi

 

chmod +x /root/batchusers

 

 

第十九題:配置 ISCSI 服務端????

配置 system1 提供一個 ISCSI 服務 磁盤名為 iqn.2014-08.com.example.group8:system1 ,并符合下列要求:

服務端口為 3260

使用 iscsi_store 作其后端邏輯卷名稱,其大小為 3G

此服務只能被 system2.group8.example.com 訪問

 

yum install targetcli

systemctl enable target

systemctl start target

firewall-cmd –permanent –add-rich-rule ‘rule family=”ipv4″ source address=”172.24.8.12/32″ port port=3260 protocol=tcp accept’

firewall-cmd –reload

firewall-cmd –list-all

fdisk /dev/sda

n

p

\n

\n

+3G

t

3

8e

w

partprobe

pvcreate /dev/sda3

vgcreate iscsi_vg /dev/sda3

lvcreate -n iscsi_store -l 100%FREE iscsi_vg

targetcli

backstores/block create name=iscsi_store dev=/dev/iscsi_vg/iscsi_store

cd iscsi

create iqn.2014-08.com.example.group8:system1

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

cd tpg1/

luns/ create /backstores/block/iscsi_store

acls/ create iqn.2014-08.com.example.group8:system2

set attribute authentication=0

set attribute generate_node_acls=0

cd /

saveconfig

exit

 

第二十題:配置 iSCISI 的客戶端

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

iSCISI 設備在系統啟動的期間自動加載

塊設備 iSCISI 上包含一個大小為 2100 MiB 的分區,并格式化為 ext4

此分區掛載在 /mnt/data 上,同時在系統啟動的期間自動掛載

 

system2:

yum search iscsi

yum install iscsi-initiator-utils

vim /etc/iscsi/initiatorname.iscsi

InitiatorName=iqn.2014-08.com.example.group8:system2

systemctl enable iscsi iscsid

systemctl start iscsi iscsid

iscsiadm -m discovery -t st -p 172.24.8.11

iscsiadm -m node -l

lsblk

fdisk /dev/sdb

n

+2100M

w

partprobe

mkfs.ext4 /dev/sdb1

mkdir /mnt/data

blkid

vim /etc/fstab

UUID=……?????????? /mnt/data??? ext4?? defaults,_netdev 0 0

mount -a

df

 

 

第二十一題:配置一個數據庫

在 system1上創建一個 Maria DB 數據庫,名為 Contacts,要求:

數據庫應該包含來自數據庫復制的內容,復制文件的URL為 http://server.group8.example.com/pub/users.mdb ,數據庫只能被 localhost 訪問

除了 root 用戶,此數據庫只能被用戶 Mary 查詢,此用戶密碼為 redhat

root 用戶的數據庫密碼為 redhat ,同時不允許空密碼登錄

 

yum install mariadb*

systemctl enable mariadb

systemctl start maraidb

mysql_secure_installation

\n

y

redhat

y

\n

wget -O /root/users.mdb http://server.group8.example.com/pub/users.mdb

mysql -u root -predhat

create database Contacts;

use Contacts;

show tables;

source /root/users.mdb;

grant select on Contacts.* to Mary@localhost identified by ‘redhat’;

quit

 

 

第二十二題:數據庫查詢

在 system1 上使用數據庫 Contacts ,并使用相應的 SQL 查詢以回答下列問題:

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

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

 

1)

mysql -u root -predhat

use Contacts

show tables;

desc u_name;

desc u_passwd;

select u_name.firstname from u_name,u_passwd where u_name.userid = u_passwd.uid and u_passwd.password = ‘fadora’;

 

這個題是隨機的

語法 select ……? from ….. ,…… where …..=….. and …. =……

 

2)show tables;

desc u_loc;

select count(*) from u_name,u_loc where u_name.userid = u_loc.uid and u_name.firstname = ‘John’ and u_loc.location = ‘Santa Clara’;

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/102907

(2)
MaxMax
上一篇 2018-07-14
下一篇 2018-07-14

相關推薦

欧美性久久久久