RHCE考題-7.0版本rhel7.0考題

RHCE考題-7.0版本rhel7.0考題

 

RHCE Requirements
完成下列操做,當您收到成績時,這部份內容的成績會標識爲RHCSA,並另有一個總分,您必須獲得300分中的210分,或者210分以上才能得到認證。
第一題:設定SELinux
第二題:配置防火牆
第三題:自定義用戶環境
第四題:配置端口轉發
第五題:配置鏈路聚合
第六題:配飾IPV6地址
第七題:配置本地郵件服務
第八題:經過SMB共享目錄
第九題:配置多用戶SMB掛載
第十題:配置NFS服務
第11題:掛載一個NFS共享
第12題:實現一個web服務器
第13題:配置安全web服務
第14題:配置虛擬主機
第15題:配置web內容的訪問
第16題:實現動態WEB內容
第17題:建立一個腳本
第18題:建立一個添加用戶的腳本
第19題:配置ISCSI服務端
第20題:配置ISCSI的客戶端
第21題:配置一個數據庫
第22題:數據庫查詢html

作題的核心:

題目中的每一個字我都認識,我殊不知道題目在說些什麼,是基礎知識學的沒怎麼理解,日常練習次數不夠,思考的不夠沒有造成本身的理解致使的
正確的作題是,看完題後你內心有一個很明確,很清晰的的作題步驟,知道先幹嗎後幹嗎,須要完成哪些:node

1.建立文件
2.安裝軟件包
3.配置服務
4.設置權限或防火牆
5.測試是否OK
6.解決報錯問題,排除錯誤mysql

考試中兩個系統的服務器
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
server.group8.example.com提供了YUM倉庫 URL是 http://server.group8.example.com/yum
作完以後須要關閉system2而後關閉system1 啓動的時候須要先啓動是system1而後啓動system2linux

reboot 重啓系統
poweroff 強制關機
shutdown 正常關機
--------------------------web

RHCE共22題

RHCE Requirements
完成下列操做,當您收到成績時,這部份內容的成績會標識爲RHCSA,而且另有一個總分,您必須獲得300分鐘的210分或者210分以上
才能得到認證sql

第一題:設置SELinux
第二題:配置防火牆
第三題:自定義用戶環境
第四題:配置端口的轉發
第五題:配置鏈路聚合
第六題:配置IPV6地址
第七題:配置本地郵件服務
第八題:經過SMB共享目錄
第九題:配置多用戶SMB掛載
第十題:配置NFS服務
第十一題:掛載一個NFS共享
第十二題:實現一個web服務器
第十三題:配置安全web服務
第十四題:配置虛擬主機
第十五題:配置web內容的訪問
第十六題:實現動態的WEB內容
第十七題:建立一個腳本
第十八題:建立一個添加用戶的腳本
第十九題:配置ISCSI服務端
第二十題:配置ISCSI的客戶端
第二十一題:配置一個數據庫
第二十二題: 數據庫查詢shell

設定SELinux

設定SELinux
在system1和system2上要求SELinux的工做模式爲enforcing
要求系統重啓後依然生效數據庫

vim /etc/selinux/config
vim /etc/sysconfig/selinux
修改成
SELINUX=enforcing vim

setenforce 1
查看一下當前的狀態
getenforce後端

SSH遠程登陸到服務器上去
ssh root@172.24.8.12

vim /etc/sysconfig/selinux
修改成
SELINUX=enforcing

setenforce 1
查看一下當前的狀態
getenforce

配置防火牆

-----------------------
配置防火牆
請按下列要求在system1和system2上設定防火牆系統
容許group8.example.com域的客戶對system1和system2進行ssh訪問
禁止my133t.org域客戶對system1和system2進行ssh訪問
備註:my133t.org是在172.13.8.0/24 網絡

用圖形界面實現一下

firewall-config

 

 

查看一下當前的防火牆規則
firewall-cmd --list-all

使用命令行實現一下防火牆規則

查看防火牆幫助的命令
man firewalld.richlanguage
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="172.13.8.0/24" service name="ssh" reject'

firewall-cmd --reload
firewall-cmd --list-all

system2上也須要作一遍
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="172.13.8.0/24" service name="ssh" reject'

firewall-cmd --reload
firewall-cmd --list-all

若是規則寫錯了刪除
firewall-cmd --permanent --remove-rich-rule 'rule family="ipv4" source address="172.13.8.0/24" service name="ssh" reject'

firewall-cmd --reload
查看一下是否刪除了
firewall-cmd --list-all

查看幫助 刪除規則的幫助
firewall-cmd --permanent --remove-

自定義用戶環境

自定義用戶環境
在系統system1和system2建立自定義命令爲qstat 要求:
此自定義命令將執行如下命令:/bin/ps -Ao pid,tt,user,fname,rsz
此命令對系統中的全部用戶有效


vim /etc/profile 非登陸shell是不可讀取此文件的
vim /etc/bashrc

給一條命令起別名
alias 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

source 與./ 的區別
source是指在當前shell中把文件執行了一遍
./ 從新打開了一個新的shell執行了一遍,當前shell中的寫入內容並無被這個新的shell讀取到

system2上也寫一遍
vim /etc/bashrc
alias qstat='/bin/ps -Ao pid,tt,user,fname,rsz'
讓配置文件生效一下
source /etc/bashrc
測試一下別名命令是否生效
qstat

配置端口轉發

配置端口轉發
在系統system1設定端口轉發,要求:
在172.24.8.0/24網絡中的系統,訪問system1的本地端口5423 將被轉發到80
此設置必須永久生效

 

 

用可視化圖形界面實現一下

firewall-config

 

查看一下當前的防火牆的規則信息
firewall-cmd --list-all

使用命令行實現一下
查看一下幫助
man firewall-cmd

man firewalld.richlanguage

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

firewall-cmd --reload
firewall-cmd --list-all

驗證一下
配置一下YUM倉庫
cd /etc/yum.repos.d/
ls
cat *

vim rhce.repo
寫入
[rhce]
name=rhce
baseurl=http://server.group8.example.com/yum
enabled=1
gpgcheck=0

清空一下系統中yum的緩存
yum clean all
yum list all

測試一下端口轉發
yum -y install httpd
systemctl enable httpd
systemctl start httpd

firewall-cmd --permanent --add-service=http
firewall-cmd --reload
firewall-cmd --list-all

cd /var/www/html/
vim index.html
寫入
hello world

在非本地主機上訪問一下,本地訪問不能進行轉發,直接是5423
在瀏覽器中輸入
172.24.8.11:5423
或者用
curl http://172.24.8.11:5423

配置鏈路聚合

配置鏈路聚合
在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 ifname team0 con-name

查看一下man幫助

man 5 teamd.conf 

nmcli con add type team ifname team0 con-name team0 config '{"runner":{"name":"activebackup"}}'
給虛擬接口配置IP地址
nmcli connection nodify team0 ipv4.addresses 172.16.3.40/24 ipv4.method manual
添加兩個物理網卡
nmcli con add type ethernet ifname eth1 conp-name eth1
nmcli con add type team-slave ifname eth1 conp-name eth1 master team0
nmcli con add type team-slave ifname eth2 conp-name eth2 master team0
開啓一下這個網卡
nmcli con up team0
查看一下當前的網卡配置信息
ifconfig
查看一下這個虛擬網卡的狀態
teamdctl team0 state

system2上也配置
man 5 teamd.conf
nmcli con add type team ifname team0 con-name team0 config '{"runner":{"name":"activebackup"}}'
給虛擬接口配置IP地址
nmcli connection nodify team0 ipv4.addresses 172.16.3.45/24 ipv4.method manual
nmcli con add type team-slave ifname eth1 conp-name eth1 master team0
nmcli con add type team-slave ifname eth2 conp-name eth2 master team0
nmcli con up team0
ifconfig
teamdctl team0 state

system2上測試是否ok
ping 172.16.3.40

查看一下這個虛擬網卡的team0的配置信息
vim /etc/sysconfig/network-scripts/ifcfg-team0

配置IPV6地址

配置IPV6地址
在考試系統上設定接口eth0使用下列IPV6地址:
system1上的地址應該是2003:ac18::305/64
system2上的地址應該是2003:ac18::30a/64
兩個系統必須能與網絡2003:ac18/64內的系統通訊
地址必須在重啓後依然生效
兩個系統必須保持當前的IPV4地址並能通訊

配置system1上的ipv6地址

查看一下網卡地址信息
nmcli con show
修改ipv6地址爲手動的
nmcli con modify eth0 ipv6.addresses 2003:ac18::305/64 ipv6.method manual
重啓一下這個網卡
nmcli con up eth0
查看修改的網卡地址是否生效
ifconfig

配置system2上的ipv6地址
nmcli con modify eth0 ipv6.addresses 2003:ac18::30a/64 ipv6.method manual
nmcli con up eth0

在system1上ping6 system2的ipv6地址,測試是否ok
ping6 2003:ac18::30a

配置本地郵件服務

配置本地郵件服務
在系統system2和system1上配置郵件服務,要求:
這些系統不接受外部發送來的郵件
在這些系統上本地發送的任何郵件都會自動路由到mail.group8.example.com
從這些系統上發送的郵件顯示來自於server.group8.example.com
您能夠經過發送郵件到本地用戶dave 來測試您的配置,系統server.example.group8.com 已經配置把此用戶的郵件轉到URL http://server.group8.example.com/pub/received mail/8

 

 

查看郵件的服務狀態
systemctl status postfix.service
修改郵件的主配置文件
vim /etc/postfix/main.cf
修改
inet_interfaces = localhost 爲inet_interfaces = loopback-only
修改
relayhost = [an.ip.add.ress] 爲relayhost = [mail.group8.example.com]
修改
myorigin = $mydomain 爲myorigin = service.group8.example.com
修改
mydestination = $myhostname,localhost.$mydomain,localhost爲mydestination =

重啓一下郵件服務
systemctl restart postfix.service

測試郵件發送
mail -s info dave
寫入
hello word

在瀏覽器中打開測試郵件地址查看是否能收到測試郵件

經過SMB共享目錄

經過SMB共享目錄
在system1上配置SMB服務,要求:
您的SMB服務器必須是STAFF工做組的一個成員
共享/common 目錄,共享名必須爲common
只有group8.example.com域內的客戶端能夠訪問common共享
common必須是能夠瀏覽的
用戶andy必須可以讀取共享中的內容,若是須要的話,驗證密碼是redhat

 


安裝SMB包
yum -y install samba samba-client.x86_64
重啓一下服務,加入到開機啓動中
systemctl enable smb nmb
systemctl start smb nmb
開機一下smb的防火牆
firewall-cmd --permanent --add-service=samba
firewall-cmd --reload

修改一下samba的配置文件
vim /etc/samba/smb.conf
修改
workgroup = MYGROUP 爲workgroup = STAFF

建立共享目錄common
mkdir /common
chon -t samba_share_t /common/
semanage fcontext -a -t samba_share_t "/common(/.*)?"

cd /etc/selinux/targeted/contexts/files/file_contexts 參考"/common(/.*)?"
restorecon -v /common/
查看一下這個共享的權限信息
ll -dZ /common/

在配置文件中寫入
vim /etc/samba/smb.conf
寫入
[common]
path=/common
hosts allow=172.24.8.

設置andy的smba的訪問密碼redhat
smbpasswd -a andy

pdbedit -L
smbclient -L //172.24.8.11
smbclient //172.24.8.11/common -U andy

yum -y install samba-client

訪問一下共享文件common
smbclient //172.24.8.11/common -U andy

配置多用戶SMB掛載

配置多用戶SMB掛載
在system1經過SMB共享目錄 /devops ,並知足下列要求:
共享名爲devops
共享目錄devops 只能group8.example.com域中的客戶端使用
共享目錄devops 必須能夠被瀏覽
用戶silene必須能以讀的方式訪問此共享,訪問密碼是redhat
用戶akira必須能以讀寫的方式訪問此共享,訪問密碼是redhat
此共享永久掛載在system2.group8.example.com上的/mnt/dev 目錄,並使用用戶silene做爲認證任何用戶,能夠經過用戶akira來臨時獲取讀寫權限

 


建立一個共享目錄
mkdir /devops
chcon -t samba_share_t/devops

修改配置文件
vim /etc/samba/smb.conf
寫入
[devops]
path=/devops
hosts allow=172.24.8.
write list =akira

設置共享目錄的權限
ll -d /devops/
chmod 777 /devops/
setfacl -m u:akira:rwx /devops/

將訪問用戶加入到samb數據庫中
smbpasswd -a silene
smbpasswd -a akira

測試本地是否可訪問
smbclient //172.24.8.11/devops -U silene

在system2上實現共享
smbclient -L //172.24.8.11
測試一下是否可登錄
smbclient //172.24.8.11/devops -U akira

建立掛載點
mkdir /mnt/dev
寫入掛載信息
vim /etc/fstab
寫入
//172.24.8.11/devops /mnt/dev cifs defaults,multiuser,sec=ntlmssp,username=silene,password=redhat 0 0


執行一下掛載
mount -a
查看掛載信息
df -h

yum -y install cifs-utils.x86_64
查看一下man幫助
man 8 mount.cifs

su - silene
cd /mnt/dev
cifscreds add -u silene 172.24.8.11

su - akira
cd /mnt/dev
cifscreds add -u akira 172.24.8.11

 

配置NFS服務

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

 

 


mkdir /public
mkdir /protected

vim /etc/exports
寫入
/public *.group8.example.com(ro,sync)
/pretected *.group8.example.com(rw,sync,sec=krb5p)

執行一下
exportfs -r
查看一下共享的權限
exportfs -v

下載祕鑰
wget -O /etc/krb5.keytab http://server.group8.example.com/pub/keytabs/system1.keytab
查看一下下載是否OK
ll /etc/krb5.
vim /etc/krb5.conf

測試一下system1的祕鑰是否有效
ktutil
rkt /etc/krb5.keytab
list


cd /protected/
mkdir project
chown andres project
查看project的權限信息
ll project
exportfs -v


yum list all |grep sssd
yum list all |grep krb5-work

將服務加入到開機啓動中
systemctl enable nfs-server
查看一下服務的狀態
systemctl status nfs-server

systemctl start nfs-server
systemctl status nfs-server

systemctl enable nfs-secure-server
systemctl restart nfs-server
systemctl restart nfs-secure-server

同步一下系統時間
ntpdate -u 172.24.8.254

設置防火牆
firewall-cmd --permanent --add-service=nfs
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --permanent --add-service=mountd
讓防火牆規則生效
firewall-cmd --reload

查看一下rpcbind服務 狀態
systemctl status rpcbind

掛載一個NFS共享

掛載一個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上建立文件
這些文件系統在系統啓動時自動掛載

 

 

建立掛載目錄
mkdir /mnt/nfsmount
mkdir /mnt/nfssecure

將掛載目錄加入到開機啓動中
vim /etc/fstab
寫入
172.24.8.11:/public /mnt/nfsmount nfs defaults 0 0

查看一下共享信息
showmount -e 172.24.8.11

執行一下掛載
mount -a
查看掛載信息
df -h


下載祕鑰
wget -O /etc/krb5.keytab http://server.group8.example.com/pub/keytabs/system2.keytab
查看一下祕鑰文件是否下載OK
ll /etc/krb5.

將服務加入到開機啓動項中去
systemctl enable nfs-secure
開啓服務
systemctl start nfs-secure

將共享加入到開機啓動中去
vim /etc/fstab
寫入
172.24.8.11:/protected /mnt/nfssecure nfs defaults,sec=krb5p 0 0

執行一下掛載
mount -a
查看一下掛載信息
df -h

su -andres
cd /mnt/nfssecure
kinit
klist
exit

su -andres
klist
cd /mnt/nfssecure
ls
cd project/
touch file

建立一個腳本

建立一個腳本
在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
#註釋
if [ "$1" = "redhat" ];then
echo "fedora"
elif [ "$1" = "fedora" ];then
echo "redhat"
else
echo "/root/foo.sh redhat | fedora"
fi

給腳本添加可執行權限
chmod u+x /root/foo.sh
./foo.sh
./foo.sh xxx
./foo.sh redhat
./foo.sh fedora


case語句的判斷
case "$1" in
"redhat")
echo "fedora"
;;
"fedora")
echo "redhat"
;;
*)
echo "/root/foo.sh redhat |fedora"
;;
esac


給腳本添加可執行權限
chmod u+x /root/foo.sh
./foo.sh
./foo.sh xxx
./foo.sh redhat
./foo.sh fedora

建立一個添加用戶的腳本

建立一個添加用戶的腳本
在system1上建立一個腳本,名爲/root/batchusers ,此腳本能實現爲系統system1建立本地用戶,而且這些用戶的用戶名來自一個包含用戶名列表的文件,同時知足下列要求:
此腳本要求提供一個參數,此參數就是包含用戶名列表的文件
若是沒有提供參數,此腳本應該給出下面的提示信息
Usage: /root/batchusers userfile 而後退出並返回相應的值
若是提供一個不存在的文件名,此腳本應該給出下面的提示信息 Input file not found 而後退出並返回相應的值
建立的用戶登陸shell爲/bin/false
此腳本不須要爲用戶設置密碼
您能夠從下面的URL獲取用戶名列表做爲測試用
http://server.group8.example.com/pub/userlist


chmod u+x /root/batchusers
vim /root/batchusers.sh
#!/bin/bash
#註釋信息
if [ "$#" = 0 ];then
echo "Usage:/root/batchusers userfile"
exit 10
elif [ !-f "$1" ];then
echo "Input file not found"
exit 20
else
for USER in $(cat $1)
do
useradd -s /bin/false $USER
done
fi

執行一下腳本測試一下
./batchusers ssss
./batchusers userlist
查看一下用戶是否添加進去了
cat /etc/passwd

配置ISCSI服務端

配置ISCSI服務端
配置system1 提供一個ISCSI服務,磁盤名爲 iqn.2014-08.com.example.group8:system1,並符合下列要求:
服務端口爲 3260
使用iscsi_store 做其後端邏輯卷名稱,其大小爲3G
此服務只能被system2.group8.example.com 訪問

fdisk -l
lsblk
開始建立邏輯卷
fdisk /dev/sda
n
p
d
q 退出

fdisk /dev/sda
p
n
p
+4G
t
8e
p
w 保存

ll /dev/sda 查看一下新的分區是否更新到系統中去了
partprobe /dev/sda 將新的分區信息更新到系統內核中去
再次查看分區信息中是否有新的分區
ll /dev/sda

pvcreate /dev/sda3
vgcreate vg0 /dev/sda3
lvcreate -L 3G -n iscsi_store vg0
lvdisplay
安裝一個軟件包
yum -y install targetcli.noarch
systemctl enable target
systemctl start target
firewall-cmd --permanent --add-port=3260/tcp
firewall-cmd --reload

targetcli
ls
pwd
cd
cd backstores/
ls
cd block
ls

create /> pwd
cd backstores/block
create iscsi_store /dev/vg0/iscsi_store
ls
cd /
ls
cd iscsi
ls
create iqn.214-08.com.example.group8:system1
ls
cd iqn.214-08.com.example.group8:system1/tpg1/acls acls 訪問控制列表
ls

遠程登陸到system2上去查看它的iscsi名字是什麼
ssh root@system2
cat /etc/iscsi/initiatorname.iscsi


繼續在system1上
create iqn.1994-05.com.redhat:57bcb2ccfc29
ls
cd ..
ls
cd iqn.214-08.com.example.group8:system1/tpg1/acls
ls
cd luns lun 邏輯單元號
create /b
create /backstores/block/iscsi_store
ll
cd ..
ls
cd ..
ls

pwd
cd tpg1/portals/
ls


刪掉以前添加的端口號
delete 0.0.0.0 3260
ls
help

從新建立一個新的端口
create 172.24.8.11 3260
ls
cd /
ls
saveconfig
exit
重啓一下服務
systemctl restart target

iscsiadm -m discovery -t st -p 172.24.8.11
iscsiadm -m node -l -T iqn.2014-08.com.example.group8:system1
iscsiadm -m node -l
fdisk -l

配置ISCSI客戶端

配置iSCISI的客戶端
配置system2使其鏈接在system1上提供的iqn.2014-08.com.example.group8:system1,並符合一下要求:
iSCISI設備在系統啓動的期間自動加載
塊設備iSCISI上包含一個大小爲2100 MiB的分區,並格式化爲ext4
此分區掛載在 /mnt/data 上,同時在系統啓動的期間自動掛載

cd /var/lib/iscsi/
ls
ls nodes/
ls send_targets/

刪除
rm -rf send_targets/*
rm -rf nodes/*

對設備進行分區
fdisk /dev/sdb
n
p
+2100M
w

ll /dev/sdb
格式化
mkfs.ext4 /dev/sdb1
mkdir /mnt/data
vim /etc/fstab
寫入掛載信息
UUID="1231549879" /mnt/data ext4 defaults,_netdev 0 0


執行一下掛載操做
mount -a
df -h


卸載
umount /mnt/data/
關機
init 0

blkid 查看存儲設備的uuid

實現一個web服務器

實現一個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 -y install httpd-manual
yum -y install httpd
firewall-cmd --list-all
cd /etc/httpd/conf.d
ls
vim web.conf
<Virtualhost *:80>
DocumentRoot /var/www/web1
ServerName system1.group8.example.com
<Virtualhost>


cd /var/www/
ls
mkdir web1
cd web1
wget http://server.group8.example.com/pub/system1.html
mv system1.html index.html

重啓一下服務
systemctl restart httpd
cd /etc/httpd
cd /conf.d/
ls

vim web.conf
<Virtualhost *:80>
DocumentRoot /var/www/web1
ServerName system1.group8.example.com

<Directory /var/www/web1>
order deny,allow
deny from .my133t.org
allow from .group8.example.com
<Directory>
<Virtualhost>

重啓一下服務
systemctl restart httpd

配置安全web服務

配置安全web服務
爲站點http://system1.group8.example.con 配置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/serts/ssl-ca.crt 獲取

 


下載祕鑰
cd /etc/httpd/
mkdir certs/
ls
wget http://server.group8.example.com/pub/tls/certs/system1.crt
wget http://server.group8.example.com/pub/tls/private/system1.key
wget http://server.group8.example.com/pub/tls/certs/ssl-ca.crt
安裝軟件包
yum -y install mod_ssl
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

ls
cd ..
ls
cd conf.d/
ls
vim ssl.conf
修改:
DocumentRoot "/var/www/web1"
ServerName system1.group8.example.com:443
修改
SSLCertificateKeyFile /etc/httpd/certs/system1.crt
SSLCertificateKeyFile /etc/httpd/certs/system1.key
SSLCertificateKeyFile /etc/httpd/certs/ssl-ca.crt

語法測試一下
httpd -t
重啓服務
systemctl restart httpd
在瀏覽器的地址欄中測試
http://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
cd /var/www/virtual
ls
wget http://server.group8.example.com/pub/www8.html
mv www8.html index.html

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

cd /var/www/virtual/
ls
rm -rf *
ls
pwd

vim web.conf
寫入
<Virtualhost *:80>
DocumentRoot /var/www/virtual
ServerName www8.group8.example.com
</Virtualhost>

檢測一下語法
httpd -t
重啓一下服務
systemctl restart httpd
測試一下站點是否能夠訪問
curl http://www8.group8.example.com

配置web內容的訪問

配置web內容的訪問
在您的system1上的web服務器的DocumentRoot目錄下,建立一個名爲private的目錄,要求以下:
從http://server.group8.example.com/pub/private.html 下載一個文件副本到這個目錄,而且重命名爲index.html
不要對這個文件的內容作任何修改
從system1上,任何人均可以瀏覽private的內容,可是從其餘系統不能訪問這個目錄的內容

 

vim web.conf
<Directory /var/www/web1/private>
order deny,allow
deny from all
allow from 172.24.8.11 127.0.0.1

</Directory>

<Directory /var/www/virtual/private>
order deny,allow
deny from all
allow from 172.24.8.11 127.0.0.1

</Directory>


檢測語法
httpd -t
cd /var/www/
ls
cd web1/

重啓一下服務
systemctl restart httpd
mdir private
cd private/
ls
wget http://server.group8.example.com/pub/private.html
ls
mv private.html index.html
ls
cat index.html
cd ..
ls
cp -r private/ /var/www/virtual/
ls /var/www/virtual/
重啓一下服務
systemctl restart httpd


nslookup localhost

vim /etc/hosts
ping localhost

實現動態web內容

實現動態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 域內的全部系統訪問

 

安裝一下軟件包
yum -y install mod_wsgi
查找一下配置文件
rpm -ql mod_wsgi
mkdir /var/www/web2
cd /var/www/web2
ls
wget http://server.group8.example.com/pub/webinfo.wsgi
ls

設置防火牆
firewall-cmd --permanent --add-port=8909/tcp
firewall-cmd --reload
查看一下SELinux
getenforce

寫入
listen 8909
<Virtualhost *:8909>
ServerName wsgi.group8.example.com
WSGIscriptalias /var/www/web2/webinfo.wsgi
</Virtualhost>

檢查一下語法
httpd -t
重啓一下服務
systemctl restart httpd
semanage port -a -t http_port_t -p tcp 8909
重啓一下服務
systemctl restart httpd


rpm -ql mod_wsgi

配置一個數據庫

配置一個數據庫
在system1上建立一個Maria DB數據庫,名爲Contacts,要求:
數據庫應該包含來自數據庫複製的內容,複製文件的URL爲http://server.group8.example.com/pub/users.mdb
數據庫只能被localhost訪問
除了root用戶,此數據庫只能被用戶Mary查詢,此用戶密碼爲redhat
root用戶的數據庫密碼爲redhat ,同時不容許空密碼登陸

 

下載一下這個數據庫
wget http://server.group8.example.com/pub/users.mdb
安裝數據包
yum -y install mariadb*
yum groupinstall mariadb
重啓一下服務
systemctl enable mariadb
systemctl start mariadb
設置防火牆
firewall-cmd --permanent -add-service=mysql
firewall-cmd --reload

mysql
mysql_secure_installation
y
y

用root用戶登陸一下數據庫
mysql -u root -p redhat
showdatabases;
建立一個數據庫
create database Contacts
查看一下數據庫是否建立
show databases;

導入數據
use Contacts;
source /root/users.mdb
show tables;

設置數據庫中Mary用戶的權限
grant select on Contacts.* to Mary@'localhost' identified by 'redhat';

 

用Mary用戶登陸數據庫測試
mysql -u Mary -p redhat
show databases;

use Contacts;
show tables;
select * from u_loc

數據庫查詢

數據庫查詢
在system1上使用數據庫Contacts,並使用相應的SQL查詢如下回答下列問題:
密碼是fadora 的人的姓名是什麼
有多少人的姓名是John,同時居住在Santa Clara

 

use Contacts;
show tables;
select * from u_name;
查看錶結構
describe u_name;
describe u_passwd;

select * from u_name,u_passwd where u_name.userid=u_passwd.uid and u_passwd.password='fadora';

firstname 是 名字
lastname 是 姓氏

 

describe u_loc;select * from u_loc,u_name where u_loc.location='Santa Clara' and u_name.firstname='John' and u_loc.uid=u_name.userid;

相關文章
相關標籤/搜索