一一:Linux認證題庫詳細說明
注意事項
(1) RHCSA上午2.5小時,RHCE下午3.5小時,考生需對題目非常熟練。
(2) 5樣東西必帶(身份證、1支黑色水筆、常用郵箱、姓名拼音、聰明的腦袋)。
(3) 考試的時候有3台機;1台物理機用來看題目/啟動/關閉/重啟虛擬機,不要動物理機上的任何配置;2台虛擬機用來考試的,所有的操作必需在虛擬機中完成。
(4) 不要嘗試SSH到其它人的機器,如果你的機器連過別人的機器,或者被別人連過,這2個人視為作弊。
(5) 考試題目可以選擇簡體中文,但是建議中英文切換着看,有些地方翻譯的不嚴謹,且中文斷句上有問題,某些地方少個逗號意思就變了。
(6) 總分都是300分,>=210分成績就算通過考試。
(7) 考試中如有不清楚請及時與考官聯系。
(8) 考試時一定要看清楚是否要求兩台虛擬機都要配置。
(9) 所有操作都設置為永久生效,意味着重啟系統還是生效。
(10)所有的服務既要start,同時也記得要enable。
(11)所有的掛載要寫到/etc/fstab里。
(12)本題庫只作為參考,考試中可能名字不一樣,因此需要大家靈活使用。
(13)做完每一題都檢查一下,看看自己做的對不對,那么怎么檢查?是一個問題,這些在下面的題庫中都有哈。
2017.05.28
二、RHCSA考點
1) 網絡與系統安全:
配置網絡
SElinux
改密碼,內核升級
2) 基本操作(用戶與組/目錄和權限):
用戶
目錄,權限,查找文件,目錄壓縮
計划任務
文字處理
3) 磁盤分區與卷管理:
lvm擴容,swap,lvm創建
4) 軟件安裝與配置:
yum
ntp
ldap
autofs
三、RHCSA題庫答案
下面我們來模擬RHCSA考試,首先在foundation上將實驗環境重置:
1 [root@localhost ~]# rht-vmctl fullreset desktop #重置虛擬機desktop
一台虛擬機system1,網絡環境為 desktopX.example.com( 172.25.X.0/24),有一個禁止網絡 test.com (172.10.0.0/24)。您可以通過物理機 ssh 到兩台虛擬機上進行操作。
您沒有物理機的 root 權限。考試服務器為 classroom.example.com(172.25.254.254/24)。
建議大家遠程過去做
記得加上-X,表示可以彈出圖形化界面(后面配置ldap時需要用到)。
題目0 破解密碼
A 重置虛擬機的Root 密碼,設置為redhat。
B 設置 system1 的網絡和主機名
你的虛擬機的網絡應該按照以下要求配置:
1 * Hostname:desktopX.example.com 2 * IP address:172.25.x.10 3 * Netmask:255.255.255.0 4 * Gateway:172.25.x.254 5 * Name server:172.25.254.254 6
參考步驟
1 破解密碼: 2 (1)開機,快速的按上下鍵,選擇第一個 3 (2)按下字母e 4 (3)找到linux16開頭的行 5 (4)到該行的最后,刪除到ro 6 (5)把ro 改成 rw rd.break 7 (6)ctrl+x 8 (7)chroot /sysroot/ 9 (8)這時就可以修改root密碼了 10 passwd root 11 (9) SElinux開啟時必須需要創建,重打selinux標簽,如果沒這步,系統起不來 12 touch /.autorelabel 13 (10)exit 14 (11)reboot 15 網絡和主機名: 16 (1)hostnamectl set-hostname serverN.example.com 17 (2)vim /etc/sysconfig/network-scripts/ifcfg-eth0 18 DEVICE=eth0 19 BOOTPROTO=none 20 ONBOOT=yes 21 TYPE=Ethernet 22 IPADDR1=172.25.0.10 23 PREFIX1=24 24 GATEWAY1=172.25.0.254 25 DNS1=172.25.254.254 26 (3)systemctl restart network 27
模擬考試環境
下面我們模擬考試環境,破解desktop0的密碼。
破解密碼:
(1)開機,快速的按上下鍵,選擇第一個
(2)按下字母e
(3)找到linux16開頭的行
(4)到該行的最后,刪除到ro
(5)把ro 改成 rw rd.break
(6)ctrl+x
(7)chroot /sysroot/,這里將文件系統切換到真正的根上面,可以看到提示符變成了“sh-4.2#”。
(8)這時就可以修改root密碼了
1 passwd root
(9)重打selinux標簽,如果沒這步,系統起不來
1 touch /.autorelabel
(10)exit
(11)reboot
在實驗環境中虛擬機是以DHCP的方式獲得IP的,因此在本實驗環境通過下面方法來修改IP。在考試中需要看清楚題目的要求的IP和網關和DNS,然后再修改網絡配置,評分時會登陸你的虛擬機,IP不對將無法評分。
1 (1)ip addr show #查看IP地址與子網掩碼並記錄下來 2 (2)route #查看網關並記錄下來 3 (3)cat /etc/resolv.conf #查看DNS並記錄下來 4 (4)hostname #查看主機名
(5)然后寫到配置文件中
1 vim /etc/sysconfig/network-scripts/ifcfg-eth0 2 DEVICE=eth0 3 BOOTPROTO=none 4 ONBOOT=yes 5 TYPE=Ethernet 6 IPADDR1=172.25.0.10 7 PREFIX1=24 8 GATEWAY1=172.25.0.254 9 DNS1=172.25.254.254 10
(6)重啟網絡
1 systemctl restart network
注意事項
⦁ 這題做成功沒分,沒做成功全部為0分。
⦁ 這里改密碼后要記得touch /.autorelabel,這里單詞經常有同學寫錯的哈。
題目1 selinux
保證系統SElinux運行在 enforcing 狀態.
參考步驟
1 (1)vim /etc/selinux/config 2 SELINUX=enforcing 3 (2)setenforce 1 4 (3)getenforce
模擬考試環境
(1)虛擬機配置selinux后是這樣的
注意事項
⦁ setenforce臨時生效,其中1為Enforcing狀態selinux表示是開啟的,0為Permissive狀態表示selinux是關閉的。
⦁ /etc/selinux/conf永久生效。
題目2 YUM源
配置你的本地默認 YUM 倉庫指向: http://classroom.example.com/content/rhel7.0/x86_64/dvd/ (考試環境服務器的地址)
參考步驟
1 (1)[root@localhost ~]# yum-config-manager --add-repo=http://classroom.example.com/content/rhel7.0/x86_64/dvd/ --enable --save 2 (2)[root@localhost ~]# echo "gpgcheck=0">> /etc/yum.repos.d/classroom.example.com_content_rhel7.0_x86_64_dvd_.repo 3 (3)[root@localhost ~]# yum repolist 4
模擬考試環境
(1)我們先將原來的/etc/yum.repos.d/*.repo刪除
(2)通過yum-config-manager命令來自動生成,可以看到紫色部分的是自動生成到文件里的。
(3)但這里還少一條gpgcheck=0,通過echo寫進去。
這里的>>是追加到剛剛創建的.repo文件中
(4)使用yum clean all清除原來的緩存
(5)使用yum repolist查看yum源的包情況,可以看到有4305個包
注意事項
⦁ yum源的配置文件必須是在/etc/yum.repos.d目錄下,並且是以.repo結尾的文件,這里經常有同學不注意的;yum源語法格式如下:
[名字]
name=顯示的名字
baseurl=基於哪個yum源
例如基於http的為http://classroom.example.com/content/rhel7.0/x86_64/dvd/;基於本地ISO文件的為file:///mnt/iso(此時iso是掛載在/mnt/iso上的)。
enabled=是否啟用這個yum源,1為啟用,0為不啟用
gpgcheck=是否驗證yum源的合法性,1為驗證,0為不驗證
上面5條即為最基本的YUM源配置。
題目3 擴容LVM
調整你的本地邏輯卷 lvm1 及其文件系統的大小為 770MiB。
A 確保文件系統當中已存在的內容不能被損壞。注意:實際配置的大小可能會出現誤差,只要在 730MiB 與 805MiB之間都是允許的。
B 使其正常掛接的目錄不改變,並且其文件系統完整。
參考步驟
1 (1)[root@localhost ~]# lvextend -L 700M /dev/vg1/lv1 2 (2)[root@localhost ~]# resize2fs /dev/vg1/lv1 3
模擬考試環境
這里我們模擬考試環境,自己先創建一個500M的lvm1,然后掛載給/mnt/lvm1,然后再開始lvm的擴容。
(1) 使用fdisk進行分區,n表示創建分區,p創建一個主分區,1創建的是分區1,+1G分區容量為1G。
(2) 創建完后,p查看分區信息,可以看到多了一個/dev/vdb1的分區,w保存退出。
(3) 查看剛剛的分區是否生效,如果沒有/dev/vdb1出來,可用partprobe刷新分區信息。
(4) 創建lvm的順序為pv-vg-lv也就是物理卷-卷組-邏輯卷,這里先創建pv
(5) 創建vg
(6) 創建lv,-L指定創建的大小為500M,-n指定lv的名字為lvm1
(7) 查看lvm,創建了pv可用pvs來查看,對應的命令為pvs/vgs/lvs,這里可以看到lvm1屬於vg1並且lvm1為500M
(8) 創建了lvm后我們要使用這個塊設備,也就是掛載,但掛載前需要將它格式化為文件系統,這里我們將它格式化為ext4
(9) 創建掛載目錄並掛載lvm,這里/dev/mapper/vg1-lvm1與/dev/vg1/lvm1lvm都表示這個lvm。
(10)通過df -TH查看掛載結果。
------------------------OK,以上為模擬考試環境的步驟,下面開始答題------------------------------
題目說調整你的本地邏輯卷 lvm1 及其文件系統的大小為 770MiB。確保文件系統當中已存在的內容不能被損壞。這里我們的答題思路是這樣的先擴容lvm再擴容文件系統。
(1)通過vgs查看vg還有多少容量,可以看到還有520M。
(2)使用lvextend來擴容lv,這里它原來的容量為500M,使用-L將容量擴容到700M,也就是說添加了200M。
(3)用lvs查看擴容結果。
(3)用resize2fs擴容ext的文件系統;如果文件系統為xfs則用xfs_growfs來擴容文件系統,XFS不支持縮小,只支持擴大。
(4)通過df -TH查看擴容結果,可以看到從500M變成了703M。
注意事項
(1)如果創建錯了,可參考下列步驟刪除,創建是這樣:fdisk-pv-vg-lv-mkfs-mount,刪除的話反過來操作。
題目4 用戶與組
按照以下要求創建用戶,組,及用戶與組的關系
A 新建一個名為 adminuser 的組,組 id 為 40000
B 新建一個名為 natasha 的用戶,並將 adminuser 作為其附屬組
C 新建一個名為 harry 的用戶,也將 adminuser 作為其附屬組
D 新建一個名為 sarah 的用戶,其不屬於 adminuser 組,並將其 shell 設置為不可登錄 shell
E natasha、harry和sarah三用戶的密碼均設置為 glegunge
參考步驟
1 [root@localhost ~]# groupadd -g 40000 adminuser 2 [root@localhost ~]# useradd -G adminuser natasha 3 [root@localhost ~]# useradd -G adminuser harry 4 [root@localhost ~]# useradd -s /sbin/nologin sarah 5 [root@localhost ~]# cat /etc/passwd 6 [root@localhost ~]# passwd natasha 7 [root@localhost ~]# passwd harry 8 [root@localhost ~]# passwd sarah
模擬考試環境
無
注意事項
無
題目5 文件權限
復制文件/etc/fstab到/var/tmp目錄中,並按以下要求配置/var/tmp/fstab 文件的權限:
A 文件/var/tmp/fstab 的所屬人為 root
B 文件/var/tmp/fstab 的所屬組為 root
C 文件/var/tmp/fstab 對任何人均沒有執行權限
D 用戶 natasha 對文件/var/tmp/fstab 有讀和寫的權限
E 用戶 harry 對文件/var/tmp/fstab 既不能讀也不能寫
F 所有其他用戶( 包換當前用戶及未來創建的用戶)對文件/var/tmp/fstab 都有讀的權限
參考步驟
1 [root@localhost ~]# cp /etc/fstab /var/tmp/ 2 [root@localhost ~]# chown root /var/tmp/fstab 3 [root@localhost ~]# chgrp root /var/tmp/fstab 4 [root@localhost ~]# chmod -x /var/tmp/fstab 5 [root@localhost ~]# setfacl -m u:natasha:rw /var/tmp/fstab 6 [root@localhost ~]# setfacl -m u:harry:-- /var/tmp/fstab 7 [root@localhost ~]# chmod o+r /var/tmp/fstab 8
模擬考試環境
(1)將/etc/fstab復制到/var/tmp目錄下,通過getfacl查看此文件的權限情況
(2)修改所屬者/所屬組為root
(3)設置任何人都沒有執行權限.
(4)使用setfacl設置單個用戶對此文件的權限,-m表示修改,格式為g/u/o:user:rwx,g表示組,u表示單個用戶,o表示其它人
(5)設置所有用戶都有讀的權限
(6)查看配置結果,可以看到
所屬者為root
所屬組為root
用戶natasha的權限是可讀可寫
用戶harry沒有任何權限
其它人只有計的權限
所有人都沒有執行的權限
注意事項
無
題目6 crontab
對 natasha 用戶配置計划任務,要求在本地時間的每天 14:23 分執行以下命令
1 [root@localhost ~]# /bin/echo “hi uplooking”
參考步驟
1 [root@localhost ~]# crontab -e -u natasha 2 [root@localhost ~]# crontab -l -u natasha
模擬考試環境
無
注意事項
⦁ crontab的格式為:
23 14 * * * /bin/echo "hi uplooking"
對應:分 時 日 月 年
題目7 目錄權限
在/home 目錄下創建子目錄名為 admins,按以下要求設置權限:
A /home/admins 的所屬組為 adminuser
B 該目錄對 adminuser 組成員可讀可寫可訪問,但對其他用戶沒有任何權限( root 帳戶不 受該限制)
C 在/home/admins 目錄下所創建的文件的所屬組自動會被設置為 adminuser
參考步驟
1 [root@localhost ~]# chgrp adminuser /home/admins 2 [root@localhost ~]# chmod g=rwx /home/admins 3 [root@localhost ~]# chmod o= /home/admins 4 [root@localhost ~]# chmod g+s /home/admins 5 [root@localhost ~]# ll -d /home/admins
模擬考試環境
(1)題目說所屬組是adminuser,於是要先創建adminuser用戶
1 [root@desktop0 tmp]# useradd adminuser 2
(2)進到/home目錄下創建admin目錄,然后查看權限情況,可以看到默認的所屬者和所屬組是root
(3)修改所屬組為adminuser
(4)將所屬組的權限改為可讀可寫可執行,其它人沒有任何權限
(5)設置g+s將所創建的文件的所屬組自動會被設置為 adminuser
(6)查看結果,可以看到admins目錄的所屬組為adminuser,並且權限為rwx,其它人的權限為---,在所屬組那里的x位置顯示的是s。
(7)進入admins目錄,創建一個文件,可以看到所屬組自動變為adminuser
注意事項
無
題目8 更新內核
按以下要求更新系統的內核
A 新內核的 RPM 包在http://classroom.example.com/content/rhel7.0/x86_64/errata/Packages
B 重新重啟時,會默認以新內核啟動系統。原始的內核將繼續可用。
參考步驟
1 [root@localhost ~]# wget http://classroom.example.com/content/rhel7.0/x86_64/errata/Packages/kernel-3.10.0-123.1.2.el7.x86_64.rpm 2 [root@localhost ~]# uname -r 3 [root@localhost ~]# rpm -ivh kernel-3.10.0-123.1.2.el7.x86_64.rpm 4 [root@localhost ~]# reboot 5 [root@localhost ~]# uname –r 6
模擬考試環境
⦁ 首先SSH到虛擬機里面,這里-X表示可以打開圖形化工具
⦁ 然后打開firefox瀏覽器,將安裝包的下載路徑復制出來
⦁ 接着wget剛剛復制的路徑,將安裝包下載到當前目錄
⦁ 查看操作系統版本
⦁ 安裝新的內核包,然后重啟
注意事項
⦁ 如果安裝不成功,可用rpm -ivh --force表示強制安裝的參數
題目8 ldap
在 classroom.example.com 上已部署了一台 LDAP 認證服務器,按以下要求配置你的系統
加入到該 LDAP 服務中,並使用 Kerberos 認證用戶密碼
該 LDAP 認證服務的Base DN為:dc=example,dc=com .
該 LDAP 認證服務的LADP Server為 :classroom.example.com
該認證服務的 Kerbros Realm 為:EXAMPLE.COM
該認證服務的 Kerbros KDC為:classroom.example.com
該認證服務的 Kerbros Admin Server為:classroom.example.com
認證的會話連接需要被加密,證書的下載地址為 http://classroom.example.com/pub/example-ca.crt
參考步驟
1 [root@localhost ~]# yum install -y authconfig-gtk sssd krb* 2 [root@localhost ~]# authconfig-gtk 3 [root@localhost ~]# getent passwd ldapuser0 4
模擬考試環境
(1)先裝包,題目說要加到LDAP服務器,進行kerbros認證。sssd(訪問多種驗證服務器,如LDAP,Kerberos等,並提供授權) authconfig-gtk(圖形化配置客戶端) krb5-workstation(Kerberos客戶端軟件)
(2)通過SSH登陸,加上-X表示可以打開圖形化工具
(4)加入LDAP並進行kerberos認證,用戶信息在LDAP,密碼認證在Kerberos。下面這些根據題目給出的信息填寫即可,注意不要寫錯哦。
1 User Account database:LDAP
2 LDAP Search Base DN:基准DN,指定LDAP search的起始DN,即從哪個DN下開始搜索
3 LDAP Server:LDAP服務器域名
4 鈎上表示使用加密
5 Authentication Method:Kerberos password
6 Realm:Kerberos域(必須大寫)
7 KDCs:鑰匙分發中心/AD地址
8 Admin Servers:Kerberos管理服務器地址
9 證書路徑

(5)getent passwd 用戶名(從passwd庫中得到賬號信息;支持AD、NIS等用戶賬號)
(6)切換到ldapuserX檢查一下剛剛的配置是否成功,可以看到切換用戶成功。但沒有家目錄,這個問題在下一題可以解決。
注意事項
無
題目9 autofs
配置autofs自動掛載LDAP用戶的家目錄,如下要求:
A classroom.example.com使用NFS共享了/home/guests給你的系統。這個文件系統包含了預先設置好的用戶ldapuserX的家目錄
B ldapuserX的家目錄是classroom.example.com:/home/guests/ldapuserX
C ldapuserX的家目錄應該自動掛載到本地的/home/guests/ldapuserX家目錄必須對用戶具有可寫權限
D ldapuserX的密碼是’kerberos’
參考步驟
1 [root@localhost ~]# yum install -y autofs 2 [root@localhost ~]# vim /etc/auto.master 3 /home/guests /etc/auto.ldap 4 [root@localhost ~]# cp /etc/auto.misc /etc/auto.ldap 5 [root@localhost ~]# vim /etc/auto.share 6 ldapuser0 -type=nfs classroom.example.com:/home/guests/ldapuser0 7 [root@localhost ~]# systemctl enable autofs 8 [root@localhost ~]# systemctl restart autofs 9 [root@localhost ~]# su - ldapuser0 10
模擬考試環境
(1)查看服務器的NFS共享
(2)安裝autofs軟件包
(3)配置autofs的監聽目錄配置文件
(4)配置autofs子目錄配置文件
(5)啟動autofs服務
(6)切換到普通用戶harry,再切換到ldapuser0,這時輸入題目給的密碼kerberos,可以看到有家目錄出現,表示autofs配置成功
注意事項
(1)如果切換到ldapuser0時沒有顯示家目錄,可以在配置文件中添加vers=3(表示通過NFS3的版本掛載)和_netdev(表示這是一個網絡設備,系統會等網絡啟動后再加載)的參數。&(表示跟子目錄掛載點一樣的目錄)(掛載多個用戶的家目錄)
1 [root@localhost ~]# vim /etc/auto.ldap 2 * -type=nfs,_netdev,vers=3,rw classroom.example.com:/home/guests/& 3 4 5
題目10 NTP
配置你的系統時間與服務器 classroom.example.com同步
參考步驟
1 [root@localhost ~]# yum install -y chrony 2 [root@localhost ~]# vim /etc/chrony.conf 3 server classroom.example.com 4 [root@localhost ~]# systemctl enable chronyd 5 [root@localhost ~]# systemctl restart chronyd.service 6 [root@localhost ~]# chronyc sources -v
模擬考試環境
(1)安裝時間同步軟件包,可以看到已安裝。
(2)編輯配置文件,將其它的server項都刪除,只留1條server classroom.example.com iburst
(3)啟動服務
(4)通過chronyc sources -v查看時間同步情況,可以看到同步成功。
注意事項
無
題目11 打包壓縮
對/etc/sysconfig目錄進行打包並用 bzip2 壓縮,生成的文件存儲為/root/sysconfig.tar.bz2
參考步驟
1 [root@localhost ~]# tar -cjvf /root/sysconfig.tar.bz2 /etc/sysconfig
模擬考試環境
(1)使用tar來打包,通過j的參數來壓縮為bzip2的格式
(2)查看打包壓縮的結果
注意事項
(1)j為bzip2的格式,z為gzip的格式。
題目12 創建用戶
創建一個名為 alex 的用戶,設置其用戶 ID為 3456,密碼為 glegunge
參考步驟
1 [root@localhost ~]# useradd -u 3456 alex 2 3 [root@localhost ~]# passwd alex
模擬考試環境
無
注意事項
無
題目13 swap
為你的系統增加一個 512MiB 的 SWAP 分區,新的 SWAP 分區將會在重新啟動系統自動被激活。不要刪除或修改已存在的 SWAP 分區。
參考步驟
1 [root@localhost ~]# fdisk /dev/vdb 2 3 [root@localhost ~]# mkswap /dev/vdb6 4 5 [root@localhost ~]# echo "/dev/vdb6 swap swap defaults 0 0" >> /etc/fstab 6 7 [root@localhost ~]# swapon -a
模擬考試環境
考試環境的分區情況是這樣的,已經存在3個分區,但這題swap需要創建新的分區,后面有一題lvm也需要創建新的分區,現在只能創建一個主分區了,怎么辦?其實有很多種方法。
方法一:創建一個擴展分區,然后再創建多個邏輯分區。
方法二:創建一個主分區,將這個分區做成pv,然后創建2個lv。
方法三:通過dd命令創建一個文件,然后通過這個文件來創建swap。
這里我們只講第一種方法,其它的感興趣的同學可以自己玩一下。
(1)查看磁盤信息,這里我們找一塊未使用的磁盤來練習,可以看到一個/dev/vdb
(2)通過fdisk對這塊磁盤分區,p查看分區情況,n創建新的分區,這里創建一個1G的分區
(3)按照上面的方法創建3個分區出來
----------------------------到這步就是考試環境啦,接下來,開始創建swap分區--------------------
(1)創建擴展分區,這里的Last sector我們默認回車,表示剩下的容量作全部分給擴展分區
(3)通過p查看,可以看到擴展分區的System是Extended,然后在擴展分區的基礎上創建邏輯分區,這里創建一個512M的
(4)通過p查看分區情況
(5)通過lsblk查看分區的使用情況,如果用lsblk看不到分區,就用partprobe刷新,再不行就重啟
(6)將分區格式化成swap
(7)啟用swap
(8)查看swap信息
(9)配置永久掛載,重啟后再查看swap是否配置成功
注意事項
無
題目14 find
查找出當前系統中所屬者為 ira 的所有文件,並將其拷貝到/root/findfiles 目錄中。
參考步驟
1 [root@localhost ~]# find / -user ira -exec cp {} /root/findfiles/ \;
模擬考試環境
(1)首先切換為ira的用戶,然后通過ira用戶創建幾個文件,方便等一下檢查,考試中不用做此操作。
(2)通過find查找根目錄,要求用戶為ira,並且找出的文件要cp到/root/findfiles目錄中,這里需要用到find的exec參數
(3)查看find的執行結果,可以看到剛剛通過ira用戶創建的文件都在
注意事項
無
題目15 文字處理
查找出/usr/share/dict/words 文件當中所有包含 seismic 字符串的行,並將這些行仍按照原始文件中的順序存放入/root/wordlist 中, /root/wordlist 文件不能包含空行。
參考步驟
1 [root@localhost ~]# grep seismic /usr/share/dict/words >> /root/wordlist
模擬考試環境
(1)通過grep將今有seismic的過濾出來
(2)查看執行結果
注意事項
無
題目16 創建lvm
按照以下要求創建一個新的邏輯卷:
邏輯卷的名字為 lvm2,其屬於 exam 目錄,該邏輯卷由 8 個 LE 組成。
卷組 datastore 的單個 PE 大小為 16MiB。
將新創建的邏輯卷格式化為 xfs 文件系統,在系統啟動時,該邏輯卷會被自動掛載到/exam/lvm2 目錄下。
參考步驟
1 [root@localhost ~]# Partprobe 2 3 [root@localhost ~]# pvcreate /dev/vdb6 4 5 [root@localhost ~]# vgcreate -s 16M datastor /dev/vdb6 6 7 [root@localhost ~]# lvcreate -l 8 datastor -n lvm2 8 9 [root@localhost ~]# mkfs.xfs /dev/datastor/lvm2 10 11 [root@localhost ~]# mkdir -p /exam/lvm2 12 13 [root@localhost ~]# echo "/dev/datastor/lvm2 /exam/lvm2 xfs defaults 0 0" >> /etc/fstab 14 15 [root@localhost ~]# mount -a
模擬考試環境
注意事項
四、RHCE考點
⦁ 網絡與安全:
selinux
防火牆nat
鏈路聚合
ipv6
⦁ 服務類:
ssh
電子郵件
smb,smb多用戶
nfs,nfs掛載
web,https,基於端口/域名虛擬主機,動態web
iscsi,iscsi客戶端
數據庫,數據庫查詢
⦁ shell類:
alias,腳本(case,if)
五、RHCE題庫答案
下面我們來模擬RHCE考試,首先將實驗環境重置:
1 [root@localhost ~]# rht-vmctl fullreset desktop 2 [root@localhost ~]# rht-vmctl fullreset server
您有三台主機,分別為物理機 foundationX.example.com。及兩台 kvm 虛擬機分別為 desktopX.example.com(172.25.X.10/24)及serverX.example.com(172.25.X.11/24)。
兩台虛擬機網絡和主機名已經配置好,均位於 example.com(172.25.X.0/24)域中。
您的所有題目要求都將在兩台虛擬機上完成。您可以通過物理機 ssh 到兩台虛擬機上進行操作。
您沒有物理機的 root 權限。考試服務器為 classroom.example.com(172.25.254.254/24)。
建議大家遠程過去做
題目1 selinux
1.在 desktopX 和 serverX 上 selinux 要求設置為 enforcing 狀態.
參考步驟
1 [root@localhost ~]# vim /etc/selinux/config 2 3 SELINUX=enforcing 4 5 setenforce 1 6 7 getenforce
模擬考試環境
下面2台虛擬機配置selinux后是這樣的。
desktop的步驟同上。
注意事項
⦁ setenforce 1是臨時生效
⦁ 修改/etc/selinux/conf里的是永久生效
題目2 ssh
2.在 desktopX 和 serverX 上分別設置防火牆,針對 SSH
允許 example.com 的域對 desktopX 和 serverX 進行 SSH
禁止 deny.com 的域對 desktopX 和 serverX 進行 SSH
參考步驟
1 [root@localhost ~]# vim /etc/hosts.allow 2 3 sshd: example.com 4 5 [root@localhost ~]# vim /etc/hosts.deny 6 7 sshd: deny.com
模擬考試環境
這里我們模擬考試的環境並驗證,假設是這樣:
在server上
允許foundationX對serverX 進行 SSH
禁止 desktopX對 serverX 進行 SSH
注意事項
⦁ 寫到這個文件的配置是馬上生效的。
⦁ 如果寫域名,冒號后面要加一個空格,再寫域名。
⦁ 正確表達:
sshd: 172.25.0.0/24
sshd: 172.25.0.0/255.255.255.0
sshd: 172.25.0.
sshd: example.com
⦁ 錯誤表達:
sshd:172.25.0
題目3 自定義用戶環境
3.在 serverX 和desktopX上自定義一個命令,要求所有用戶執行 show 等同於執行“ ls -al ; pwd ; echo ok”
參考步驟
1 [root@localhost ~]# vim /etc/bashrc 2 3 alias show='ls -al;pwd;echo ok'
模擬考試環境
下面在server上面的/etc/bashrc配置完后退出當前ssh再登陸查看結果。
desktop的步驟同上。
注意事項
⦁ 退出當前ssh,重新登陸后,通過alias查看是否生效
⦁ 執行剛剛自定義的show,查看是否生效
題目4 端口轉發
4.在serverX 上設置端口轉發,要求如下:
將example.com 域(172.25.X.0/24)訪問該主機的5423端口的轉到 80 端口
此設置必須永久有效
參考步驟
1 [root@localhost ~]# firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=172.25.0.0/24 forward-port port=5423 protocol=tcp to-por=80' 2 3 [root@localhost ~]# firewall-cmd --reload
模擬考試環境
下面模擬考試環境,在server上安裝http,然后配置端口轉發,通過desktop來驗證。
確認防火牆是開的
配置端口轉發,並將防火牆重新加載
通過desktop訪問5423端口驗證
注意事項
⦁ 這里的=(等號)兩邊沒有空格:--add-rich-rule=’rule’
⦁ 防火牆原理:
防火牆分為不同的ZONE,每個ZONE都有自己的規則(基本規則,富規則)。
當防火牆收到一個數據包的處理流程如下:
⦁ 先檢查其源IP,如果該源IP關聯到了一個ZONE,則送往該ZONE。
⦁ 如果該源IP沒有關聯ZONE,則查看接收該數據包的網關所關聯的ZONE。
⦁ 如果該網卡也沒有關聯ZONE,則送往默認ZONE。
⦁ 如果配置錯了,通過firewall-cmd --permanent --remove-rich-rule=’rule’來刪除規則,這里的rule復制通過firewall-cmd --list-all --zone=public看到的,具體如下:
題目5 鏈路聚合
5.在 serverX 和desktopX上做鏈路聚合
使用 team1 將 eth1 和 eth2 聚合
要求在任意一個成員接口down 的情況下 team1 口保持正常使用
serverX的Ipv4地址配置如下192.168.0.111/24
desktopX的Ipv4地址配置如下192.168.0.110/24
此鏈路聚合重啟后依然保持正常狀態
參考步驟
首先將2台虛擬機的eth0配置成靜態IP,方法如下:
1 [root@localhost ~]# ip addr show #查看IP地址與子網掩碼並記錄下來 2 [root@localhost ~]# route #查看網關並記錄下來 3 [root@localhost ~]# cat /etc/resolv.conf #查看DNS並記錄下來
然后寫到配置文件中:
1 [root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 2 DEVICE=eth0 3 BOOTPROTO=none 4 ONBOOT=yes 5 TYPE=Ethernet 6 IPADDR1=172.25.0.11 7 PREFIX1=24 8 GATEWAY1=172.25.0.254 9 DNS1=172.25.254.254
重啟網絡:
1 [root@localhost ~]# systemctl restart network
最后開始配置鏈路聚合:
1 [root@localhost ~]# nmcli connection add type team con-name team1 ifname team1 config '{"runner":{"name":"activebackup"}}' 2 [root@localhost ~]# nmcli connection add type team-slave con-name team1-slave1 ifname eth1 master team1 3 [root@localhost ~]# nmcli connection add type team-slave con-name team1-slave2 ifname eth2 master team1 4 [root@localhost ~]# teamdctl team1 state 5 [root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-team1 6IPADDR=192.168.0.111 7 PREFIX=24 8 ONBOOT=yes
9 [root@localhost ~]#systemctl restart network
10 11 12
模擬考試環境
下面模擬考試環境,先將IP地址配置為靜態,然后手動在foudationX上添加2張網卡給2台虛擬機,然后配置鏈路聚合進行驗證。
查看IP地址/子網掩碼/網關DNS
配置靜態IP
重啟網絡服務
desktop的配置同上。
下面在foundation上添加2張網卡給虛擬機。
首先切換到root用戶,打開virt-manager
下面這個就是virt-manager界面
下面添加2張網卡到虛擬機上
desktop的步驟同上。
可以看到2張網卡是沒有配置的
下面創建team1並查看網卡狀態。
可以看到多了一個CONNECTION為team1的,和DEVICE為team1的。
將2張網卡添加到這個team1中
配置team1的IP地址
desktop的配置同上。
下面進行驗證,server ping desktop
注意事項
⦁ 鏈路聚合team的config配置格式如下:config '{"runner":{"name":"activebackup"}}'可以這樣記“運行名字為主備”。
⦁ team的網卡配置文件中只配置IP地址和子網掩碼就OK。
⦁ 如果配置錯了通過nmcli connection delete team1來刪除原來的配置文件。
題目6 IPV6
6.在 desktopX 和 serverX 上給接口 eth0 設置靜態ipv6 地址
serverX的ipv6 addrees: 2001::1/64
desktopX的ipv6 addrees: 2003::10/64
兩個系統必須能與網絡2003::/64內的系統通信
地址必須在重啟后依舊生效
兩個系統必須保持當前的IPV4地址並能通信。
參考步驟
1 [root@localhost ~]# nmcli connection modify "System eth0" ipv6.method auto 2 3 [root@localhost ~]# nmcli connection modify "System eth0" ipv6.addresses 2001::1/64 4 5 [root@localhost ~]# nmcli connection modify "System eth0" ipv6.method manual 6 7 [root@localhost ~]# systemctl restart network 8 9 [root@localhost ~]# ping6 2001::10
模擬考試環境
在2台虛擬機通過命令配置IPV6並驗證,首先需要先設置為auto再配置IP再設置為manual。
desktop的步驟同上。
注意事項
⦁ 配置IPV6之前要記得將method設置成auto,然后再配置IP地址
⦁ 使用ping6進行驗證
題目7 電子郵件
7.在 desktopX 和server X上 建 立 一 個電子郵件服務
這些系統不接收外部發送來的郵件
在這些系統上本地發送的任何郵件都會自動路由到foundationX
在這些系統上發送的郵件顯示來自於example.com
防火牆
參考步驟
1 [root@localhost ~]# yum install -y postfix 2 3 [root@localhost ~]# vim /etc/postfix/main.cf 4 5 inet_interfaces = loopback-only #監聽本地 6 7 myorigin = example.com #發送的郵件顯示為example.com 8 9 relayhost = [foundationX.example.com] #轉發 10 11 mydestination = #不接受任何郵件 12 13 local_transport = error:local delivery disabled #不會把郵件郵放MDA 14 15 mynetworks = 127.0.0.1/8 #中繼哪些網段 16 17 [root@localhost ~]# systemctl restart postfix 18 19 [root@localhost ~]# systemctl enable postfix
模擬考試環境
無
注意事項
⦁ 這里的實驗環境模擬不了考試環境。
⦁ 在考試環境中可以測試,題目有告訴如何測試。
題目8 SMB
8.通過SMB共享目錄
在server X上配置SMB服務
您的SMB服務器必須是STAFF工作組的一個成員
共享/common目錄共享名必須為common
只有example.com域內的客戶端可以訪問common共享
common必須是可以瀏覽的
用戶andy必須能夠讀取共享中的內容,如果需要的話,驗證的密碼是redhat
參考步驟
1 [root@localhost ~]# yum install -y samba samba-common samba-client 2 [root@localhost ~]# systemctl restart smb nmb 3 [root@localhost ~]# systemctl enable smb nmb 4 [root@localhost ~]# firewall-cmd --permanent --add-rich-rule=’rule family=ipv4 source address=172.25.0.0/24 service name=samba accept’ 5 [root@localhost ~]# firewall-cmd --reload 6 [root@localhost ~]# useradd andy 7 [root@localhost ~]# smbpasswd -a andy 8 [root@localhost ~]# semanage fcontext -a -t samba_share_t “/common(/.*)?” 9 [root@localhost ~]# restorecon -Rv /common/ 10 [root@localhost ~]# ll -dZ /common/ 11 [root@localhost ~]# vim /etc/samba/smb.conf 12 [root@localhost ~]# workgroup = STAFF 13 [common] 14 path = /common 15 browseable = yes 16 [root@localhost ~]# systemctl restart smb nmb 17 [root@localhost ~]# su - andy 18 [root@localhost ~]# ll /common
模擬考試環境
這里模擬考試環境,考試的時候可能common已經有了。本題思路如下:
⦁ 裝包
⦁ start和enable服務
⦁ 防火牆
⦁ 創建用戶
⦁ 創建目錄/目錄權限
⦁ selinux
⦁ 修改配置文件
⦁ 重啟服務
此題目沒有要求客戶端掛載,這里不講。首先是常規操作(裝包,start和enable服務,防火牆),samba要裝3個包,samba是控制smb和nmb服務的,samba-common是samba相關命令,samba-client是samba客戶端用於測試。
題目說:只有example.com域內的客戶端可以訪問common共享
首先通過ping 域名得出網段,然后通過防火牆規則來實現只有172.25.0.0/24可以訪問共享。
接下來創建用戶與目錄並配置selinux。因為默認就有讀的權限,因此不用做權限的修改。
下面按照題目要求修改配置文件,修改配置文件的workgroup,添加common共享目錄信息。
下面我們來測試一下哈,題目說andy有讀的權限是吧,那在服務器端通過andy來訪問這個common共享目錄,看看是否有讀的權限。
注意事項
⦁ 創建samba用戶前需要創建本地用戶。
⦁ 如果配置不成功,可通過systemctl status samba 查看報錯信息,通過/var/log/message查看日志。
題目9 SMB多用戶
9.配置SMB多用戶掛載
在serverX 上配置SMB目錄/devops滿足以下要求
共享名為devops
共享目錄devops只能被example.com域中的客戶端使用
共享目錄devops必須可以被瀏覽
用戶kenji必須能以讀的方式訪問此共享,訪問密碼是atenorth
用戶chihiro必須能以讀寫的方式訪問此共享,訪問密碼是atenorth
此共享永久掛載在desktop上的/mnt/dev目錄,並使用戶kenji作為任何用戶可以通過用戶chihiro來臨時獲取寫的權限。
參考步驟
1 server: 2 [root@localhost ~]# firewall-cmd --permanent --add-rich-rule=’rule family=ipv4 source address=172.25.0.0/24 service name=samba accept’ 3 [root@localhost ~]# firewall-cmd --reload 4 [root@localhost ~]# useradd kenji 5 [root@localhost ~]# useradd chihiro 6 [root@localhost ~]# smbpasswd kenji 7 [root@localhost ~]# smbpasswd chihiro 8 [root@localhost ~]# mkdir /devops 9 [root@localhost ~]# semanage fcontext -a -t samba_share_t “/devops(/.*)?” 10 [root@localhost ~]# restorecon -Rv /devops/ 11 [root@localhost ~]# ll -dZ /devops/ 12 [root@localhost ~]# setfacl -R -m u:chihiro:rwx /devops/ 13 [root@localhost ~]# vim /etc/samba/smb.conf 14[devops] 15 path = /devops 16 browseable = yes 17 write list = chihiro
18 [root@localhost ~]# systemctl restart smb nmb 19 desktop: 20 [root@localhost ~]# yum install -y samba-client 21 [root@localhost ~]# yum install -y cifs-utils.x86_64 22 [root@localhost ~]# echo "//172.25.0.11/devops /mnt/dev cifs username=kenji,password=redhat,multiuser,sec=ntlmssp 0 0" >> /etc/fstab 23 [root@localhost ~]# mount -a 24 [root@localhost ~]# su - student 25 [root@localhost ~]# cifscreds add 172.25.0.11 -u chihiro 26 [root@localhost ~]# touch /mnt/dev/test5
模擬考試環境
這里模擬考試環境,考試的時候可能devops已經有了,裝包和防火牆前面那題已經配置了。本題思路如下:
⦁ 創建用戶
⦁ 創建目錄/目錄權限
⦁ selinux
⦁ 修改配置文件
⦁ 重啟服務
⦁ 客戶端(裝包,創建掛載目錄,永久掛載,提升憑證測試)
下面模擬考試環境,server為samba服務器,desktop為客戶端進行samba多用戶掛載與提升憑證測試。首先創建用戶,創建目錄/配置目錄權限與selinux,由於這里是多個用戶場景,因此使用setfacl對單個用戶進行權限的設置。
題目說:用戶chihiro必須能以讀寫的方式訪問此共享,訪問密碼是atenorth。
前面我們使用setfacl對chihiro用戶進行了權限設置后配置文件里也要有寫的權限,下面配置共享目錄/devops的共享參數,write list = chihiro表示哪些用戶有寫的權限。
使用testparm命令測試配置的語法是否有錯
接下來通過desktop客戶端來測試,首先要裝2個包samba-client(用於samba客戶端測試)和cifs-utils(用於samba掛載),創建掛載目錄,然后配置基於kenji的samba多用戶掛載,通過chihiro用戶來提升憑證,獲得寫devops目錄的權限。
手動掛載測試一下,沒問題后,再配置永久掛載
配置永久掛載
cifscreds add 172.25.0.11 -u chihiro表示提升到chihiro的憑證,因為這個用戶有寫的權限,因此需要用到寫功能時,就提升下權限來寫。
注意事項
⦁ 掛載的時候要寫multiuser多用戶掛載,才可提升憑證,寫權限才能生效。
⦁ 一定要使用普通用戶來提升憑證,在客戶端提升憑證使用cifscreds add 172.25.0.11 -u chihiro,清除憑證使用cifscreds clearall。
⦁ 使用testparm可以檢查samba配置文件的語法。
⦁ 永久掛載時
//172.25.0.11/devops /mnt/dev cifs username=kenji,password=redhat,multiuser,sec=ntlmssp 0 0
這里表示使用kenji這個用戶來掛載,密碼為redhat,掛載參數是multiuser(多用戶),加載方式是sec=ntlmssp。
題目10 NFS
10.在serverX配置NFS服務,要求如下:
以只讀的方式共享目錄/public同時只能被example.com域中的系統訪問
以讀寫的方式共享目錄/protected能被example.com域中的系統訪問
訪問/protected需要通過kerberos安全加密,您可以使用下面的URL提供的密鑰
http://classroom.example.com/pub/keytabs/server0.keytab
目錄/protected應該包含名為project擁有人為ldapuserX的子目錄
用戶ldapuserX能以讀寫方式訪問/protected/project
參考步驟
1 [root@localhost ~]# wget -O /etc/krb5.keytab http://classroom.example.com/pub/keytabs/server0.keytab 2 [root@localhost ~]# systemctl start nfs-server rpcbind 3 [root@localhost ~]# systemctl enable nfs-server rpcbind 4 [root@localhost ~]# systemctl start nfs-secure-server 5 [root@localhost ~]# systemctl enable nfs-secure-server 6 [root@localhost ~]# firewall-cmd --permanent --add-service=nfs 7 [root@localhost ~]# firewall-cmd --permanent --add-service=mountd 8 [root@localhost ~]# firewall-cmd --permanent --add-service=rpc-bind 9 [root@localhost ~]# firewall-cmd --reload 10 [root@localhost ~]# mkdir /public 11 [root@localhost ~]# mkdir /protected 12 [root@localhost ~]# mkdir /protected/project 13 [root@localhost ~]# setfacl -m u:ldapuser0:rwx /protected/ 14 [root@localhost ~]# chown ldapuser0 /protected/project/ 15 [root@localhost ~]# vim /etc/exports 16/public 172.25.0.0/24(ro) 17 /protected 172.25.0.0/24(rw,sec=krb5p) 18 exportfs -rv
模擬考試環境
考試的時候2台虛擬機已通過kerberos認證,這里模擬考試環境因此需要手動添加kerberos認證,本題配置思路:
⦁ kerberos認證,下載密鑰
⦁ 裝包
⦁ start和enable服務
⦁ 防火牆
⦁ 創建目錄/目錄權限
⦁ 修改配置文件
⦁ 重啟服務
首先將server加入kerberos認證,這里server的密鑰在 http://classroom.example.com/pub/keytabs/server0.keytab
接下來是常規操作,在server上裝包,start和enable服務,配置防火牆
目錄/protected應該包含名為project擁有人為ldapuserX的子目錄
用戶ldapuserX能以讀寫方式訪問/protected/project
通過ldapuserX測試是否對/protected/project可讀寫
注意事項
⦁ 記得是nfs-secure-server。因為是通過kerberos安全加密的,所以服務器使用的是nfs-secure-server這個服務。
⦁ kerberos認證原理:
首先server和desktop都要成為kerberos的client才能進行安全加密傳輸。
然后kerberos會將加進來的client都生成密鑰。
server和desktop有自己的密鑰。
如果desktop要和server通信,desktop怎么才能知道server就是真server呢?
kerberos將server的密鑰進行加密生成一個憑證發給desktop。
desktop會拿着kerberos發給它的憑證和server通信。
server收到憑證后通過自己的密鑰來解密,如果解密成功,說明這是真server。
題目11 NFS掛載
11.在 desktopX 上掛載一個serverX.example.com的NFS共享,並符合下列要求:
/public掛載在下面的目錄上/mnt/nfsmount
/protected掛載在下面的目錄上/mnt/nfssecure並使用安全的方式。密鑰下載URL如下:
http://classroom.example.com/pub/keytabs/desktop0.keytab
ldapuserX能夠在/mnt/nfssecure/project上創建文件
這此文件系統在系統啟動時自動掛載
參考步驟
1 [root@localhost ~]# wget -O /etc/krb5.keytab http://classroom.example.com/pub/keytabs/desktop0.keytab 2 [root@localhost ~]# systemctl start nfs-secure 3 [root@localhost ~]# systemctl enable nfs-secure 4 [root@localhost ~]# mkdir /mnt/nfsmount 5 [root@localhost ~]# mkdir /mnf/nfssecure 6 [root@localhost ~]# vim /etc/fstab 7server0.example.com:/public /mnt/nfsmount nfs defaults,vers=3 0 0 8 server0.example.com:/protected /mnt/nfssecure nfs defaults,vers=3,sec=krb5p 0 0
9 [root@localhost ~]# mount -a 10 [root@localhost ~]# df -TH
模擬考試環境
考試的時候2台虛擬機已通過kerberos認證,這里模擬考試環境因此需要手動添加kerberos認證,本題配置思路:
⦁ kerberos認證,下載密鑰
⦁ 裝包
⦁ start和enable服務
⦁ 創建目錄
⦁ 掛載
⦁ 測試
首先將desktop加入kerberos認證, desktop的密鑰在
http://classroom.example.com/pub/keytabs/desktop0.keytab
加入kerberos與下載密鑰步驟請參考上題。
接下來在desktop上裝包,start和enable服務,創建目錄。為什么客戶端也要安裝nfs-utils的包呢?因為nfs是c/s架構,nfs-utils包含了服務器的包和客戶端工具(client-tools)。
注意事項
⦁ 因為是基於kerberos,所以客戶端要記得啟動nfs-secure服務。
⦁ 在客戶端掛載/etc/fstab里的參數是sec=krb5p
題目12 WEB
12.配置WEB站點
serverX上配置一個站點http://serverX.example.com然后執行下述步驟:
從ftp://172.25.254.250/pub/RHCE/12.html下載文件,並且將文件重命名index.html不要修改此文件的內容
將文件index.html拷貝到您的web服務器的documentroot目錄下
來自於example.com域的客戶端可以訪問此web服務
來自於deny.com域的客戶端拒絕訪問此web的服務
參考步驟
1 server: 2 [root@localhost ~]# yum install httpd -y 3 [root@localhost ~]# systemctl start httpd 4 [root@localhost ~]# systemctl enable httpd 5 [root@localhost ~]# firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=172.25.0.0/24 port port=80 protocol=tcp accept' 6 [root@localhost ~]# firewall-cmd --reload 7 [root@localhost ~]# vim /usr/share/doc/httpd-2.4.6/httpd-vhosts.conf #在模板文件中8yy復制,然后在server0.conf中p粘貼 8 [root@localhost ~]# vim /etc/httpd/conf.d/server0.conf 9<VirtualHost *:80> 10 ServerAdmin root@server0.example.com 11 DocumentRoot "/var/www/html" 12 ServerName server0.example.com 13 ErrorLog "/var/log/httpd/server0.example.com-error_log" 14 CustomLog "/var/log/httpd/server0.example.com-access_log" common 15 </VirtualHost>
16 [root@localhost ~]# cd /var/www/html/ 17 [root@localhost ~]# wget ftp://172.25.254.250/pub/RHCE/12.html #進入站點目錄將主頁wget下來 18 [root@localhost ~]# systemctl restart httpd 19 desktop: 20 [root@localhost ~]# curl http://server0.example.com
模擬考試環境
下面模擬考試環境,WEB的配置思路如下:
⦁ 裝包
⦁ start和enable服務
⦁ 防火牆
⦁ 修改配置文件(不需要修改主配置文件/etc/httpd/conf/httpd.conf,所有配置在/etc/httpd/conf.d/server0.conf里面(所有頁面配置成虛擬主機),這樣可以保持主配置文件的干凈,方便排錯。)
⦁ selinux
⦁ 配置主頁
⦁ restart服務
⦁ 客戶端測試
測試
注意事項
⦁ 不需要修改主配置文件/etc/httpd/conf/httpd.conf,所有配置在/etc/httpd/conf.d/server0.conf里面(所有頁面配置成虛擬主機),這樣可以保持主配置文件的干凈,方便排錯。
⦁ 確保主機名(ServerName)沒有寫錯例如14.example.com。多一字符或者空格都是不行的。
題目13 HTTPS
13.配置安全web服務
為站點http://serverX.example.com配置
TLS加密一個已簽名證書從http://classroom.example.com/pub/tls/certs/www0.crt獲取,
此證書的密鑰從http://classroom.example.com/pub/tls/private/www0.key獲取,
此證書的簽名授權信息從http://classroom.example.com/pub/example-ca.crt獲取。
參考步驟
1 [root@localhost ~]# yum install mod_ssl -y 2 [root@localhost ~]# wget -O /etc/pki/tls/certs/www0.crt http://classroom.example.com/pub/tls/certs/www0.crt 3 [root@localhost ~]# wget -O /etc/pki/tls/private/www0.key http://classroom.example.com/pub/tls/private/www0.key 4 [root@localhost ~]# wget -O /etc/pki/tls/certs/example-ca.crt http://classroom.example.com/pub/example-ca.crt 5 [root@localhost ~]# vim /etc/httpd/conf.d/server0.conf6 <VirtualHost *:443> 7 ServerAdmin root@server0.example.com 8 DocumentRoot "/var/www/html" 9 ServerName server0.example.com 10 ErrorLog "/var/log/httpd/server0_443.example.com-error_log" 11 CustomLog "/var/log/httpd/server0_443.example.com-access_log" common 12 SSLEngine on 13 SSLProtocol all -SSLv2 -SSLv3 14 SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5 15 SSLCertificateFile /etc/pki/tls/certs/www0.crt 16 SSLCertificateKeyFile /etc/pki/tls/private/www0.key 17 SSLCACertificateFile /etc/pki/tls/certs/example-ca.crt 18 </VirtualHost>
19 [root@localhost ~]# systemctl restart httpd
模擬考試環境

這里可以進入/etc/pki/tls/certs后再wget,這樣selinux不需要修改,或者wget -O 指定路徑
通過grep ssl.conf將https配置參數復制出來,這里的最后一條記得把#去掉。
注意事項
1. 下載文件時,先cd到要保存的位置,再wget;或者使用wget -O指定絕對路徑。
題目14 虛擬主機
14.配置虛擬主機
在serverX上擴展您的web服務器,為站點http://14.example.com創建一個虛擬主機,然后執行下述步驟:
設置DocumentRoot為/var/www/virtual
從ftp://172.25.254.250/pub/RHCE/14.html下載文件並重命名為index.html不要對文件index.html的內容做任何修改
將文件index.html放到虛擬主機的DocumentRoot目錄下
確保floyd用戶能夠在/var/www/virtual目錄下創建文件
注意:原始站點http://server0.example.com必須仍然能夠訪問
參考步驟
1 [root@localhost ~]# vim /etc/httpd/conf.d/server0.conf 2 3<VirtualHost *:80> 4 5 ServerAdmin root@server0.example.com 6 7 DocumentRoot "/var/www/virtual" 8 9 ServerName 14.example.com 10 11 ErrorLog "/var/log/httpd/server0_14.example.com-error_log" 12 13 CustomLog "/var/log/httpd/server0_14.example.com-access_log" common 14 15 </VirtualHost> 16 17 <Directory "/var/www/virtual"> 18 19 AllowOverride None 20 21 Require all granted 22 23 </Directory>
24 25 [root@localhost ~]# systemctl restart httpd 26
模擬考試環境
其中<Directory>這個在/etc/httpd/conf/httpd.conf里面復制
題目15 虛擬主機2
15.配置WEB內容的訪問
為您的serverX上的web服務器的DocumentRoot目錄下創建一個名為private的目錄,要求如下:
從ftp://172.25.254.250/pub/RHCE/15.html下載一個文件副本到這個目錄,並且重命名為index.html
不要對這個文件的內容做任何修改
在serverX上任何人都可以瀏覽private的內容,但是從其他系統不能訪問這個目錄的內容
參考步驟
1 [root@localhost ~]# vim /etc/httpd/conf.d/server0.conf 2 3 <VirtualHost *:80> 4 5 ServerAdmin root@server0.example.com 6 7 DocumentRoot "/var/www/html" 8 9 ServerName server0.example.com 10 11 ErrorLog "/var/log/httpd/server0.example.com-error_log" 12 13 CustomLog "/var/log/httpd/server0.example.com-access_log" common 14 15 </VirtualHost> 16 17 <Directory "/var/www/html/private"> #在第一個站點后面添加 18 19 Require all denied 20 21 Require local 22 23 </Directory> 24 25 [root@localhost ~]# systemctl restart httpd 26
模擬考試環境
這里說的DocumentRoot,我們就在默認的/var/www/html里創建就OK
其中<Directory>這個在/etc/httpd/conf/httpd.conf里面復制
desktop測試
server測試
注意事項
1. 下載文件時,先cd到要保存的位置,再wget;或者使用wget -O指定絕對路徑。
題目16 動態WEB
16.實現動態WEB內容
在serverX上配置提供動態web內容,要求如下:
動態內容為16.example.com的虛擬主機提供
虛擬主機偵聽在端口8909
從ftp://172.25.254.250/pub/RHCE/webinfo.wsgi下載一個腳本,然后放在適當的位置,無論如何都不要修改此文件的內容
客戶端訪問http://14.example.com:8909時應該接到動態生成的WEB頁面
此http://14.example.com:8900必須被example.com域內的所有系統訪問
參考步驟
1 [root@localhost ~]# yum install -y mod_wsgi 2 3 [root@localhost ~]# firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=172.25.0.0/24 port port=8990 protocol=tcp accept' 4 5 [root@localhost ~]# firewall-cmd --reload 6 7 [root@localhost ~]# vim /etc/httpd/conf.d/server0.conf 8 9Listen 8909 10 11 <VirtualHost *:8909> 12 13 ServerName 16.example.com 14 15 WSGIScriptAlias / /var/www/html/webapp.wsgi 16 17 </VirtualHost>
18 19 [root@localhost ~]# systemctl restart httpd 20 21 [root@localhost ~]# semanage port -a -t http_port_t -p tcp 8909 22 23 [root@localhost ~]# systemctl restart httpd 24
模擬考試環境
題目17 case腳本
17.在serverX上創建一個名為/root/foo.sh的腳本,讓其提供下列特征
當運行/root/foo.sh redhat,輸出為fedora
當運行/root/foo.sh fedora,輸出為redhat
當沒有任何參數或者參數不是redhat或者fedora時,其錯誤輸出產生以下的信息:
1 [root@localhost ~]# /root/foo.sh redhat|fedora 2 3 #參考步驟 4 5 [root@localhost ~]# vim /root/foo.sh 6 7#!/bin/bash 8 9 case $1 in 10 11 redhat) 12 13 echo “fedora”; 14 15 ;; 16 17 fedora) 18 19 echo “redhat”; 20 21 ;; 22 23 *) 24 25 echo ‘/root/foo.sh redhat|fedora’ 26 27 ;; 28 29 esac
30 31 [root@localhost ~]# chmod +x /root/foo.sh 32
模擬考試環境
注意事項
無
題目18 if腳本
18.創建一個添加用戶的腳本
在serverX上創建一個腳本,名為/root/batchusers,此腳本能實現為系統server創建本地用戶,並且這些用戶的用戶名來自一個包含用戶名列表的文件。同時滿足下列要求:
此腳本要求提供一個參數,此參數就是包含用戶名列表的文件
如果沒有提供參數,此腳本應該給出下面的提示信息Usage:/root/bachuser然后退出並返回相應的值
如果提供一個不存在的文件名,此腳本應該給出下面的提示信息input file not found然后退出並返回相應的值
創建的用戶登錄shell為/bin/false
此腳本不需要為用戶設置密碼
你可以從下面的URL獲取用戶名列表作為測試用 http://172.25.254.250/pub/RHCE/userlist
參考步驟
1 [root@localhost ~]# vim /root/batchusers 23 #!/bin/bash 4 5 if [ $# -eq 0 ] ; then 6 7 echo "Usage:/root/bachusers"; 8 9 exit 1; 10 11 fi 12 13 if [ ! -f $1 ] ; then 14 15 echo "input file not found"; 16 17 exit 2; 18 19 fi 20 21 for USERNAME in $(cat $1) ; 22 23 do 24 25 useradd -s /bin/false $USERNAME 26 27 id $USERNAME 28 29 done
30 31 [root@localhost ~]# chmod +x /root/foo.sh 32
模擬考試環境
注意事項
無
題目19 ISCSI服務端
19.配置iSCSI服務端
配置serverX提供一個iSCSI服務磁盤名為iqn.2017-05.com.example:serverX並符合下列要求
服務器端口為3260
使用iscsi——store作其后端卷其大小為3G
從服務只能被desktopX.example.com訪問
參考步驟
1 [root@localhost ~]# fdisk /dev/vdb 2 3 Command (m for help): p 4 5 Command (m for help): n 6 7 Select (default p): p 8 9 Partition number (1-4, default 1): 1 10 11 First sector (2048-20971519, default 2048): 12 13 Using default value 2048 14 15 Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +3G 16 17 Command (m for help): w 18 19 [root@localhost ~]# yum install -y targetcli 20 21 [root@localhost ~]# targetcli 2223 /> backstores/block create disk1 /dev/vdb1 24 25 /> iscsi/ create iqn.2017-05.com.example:server0 26 27 /> iscsi/iqn.2017-05.com.example:server0/tpg1/acls create iqn.2017-05.com.example:desktop0 28 29 /> iscsi/iqn.2017-05.com.example:server0/tpg1/luns create /backstores/block/disk1 30 31 /> iscsi/iqn.2017-05.com.example:server0/tpg1/portals create 172.25.0.11
32 33 [root@localhost ~]# systemctl start target 34 35 [root@localhost ~]# systemctl enable target 36 37 [root@localhost ~]# firewall-cmd --permanent --add-port=3260/tcp 38 39 [root@localhost ~]# firewall-cmd --reload 40
模擬考試環境
題目20 ISCSI客戶端
20.配置ISCSI客戶端
配置desktopX使其能連接在serverX上提供的iqn.2017-05.com.example:serverX並符合以下要求
iSCSI設備在系統啟動的期間自動加載
塊設備iSCSI上包含一個大小為2100MIB的分區,並格式化為ext4
此分區掛載在/mnt/data上同時在系統啟動的期間自動掛載
參考步驟
1 [root@localhost ~]# yum install iscsi* -y 2 3 [root@localhost ~]# vim /etc/iscsi/initiatorname.iscsi 4 5 InitiatorName=iqn.2017-05.com.example:desktop0 6 7 [root@localhost ~]# systemctl restart iscsi 8 9 [root@localhost ~]# systemctl restart iscsid 10 11 [root@localhost ~]# systemctl enable iscsid 12 13 [root@localhost ~]# systemctl enable iscsi 14 15 [root@localhost ~]# man iscsiadm |grep EXAMPLE -A 10 16 17 [root@localhost ~]# iscsiadm --mode discoverydb --type sendtargets --portal 172.25.0.11 --discover 18 19 [root@localhost ~]# iscsiadm --mode node --targetname iqn.2017-05.com.example:server0 --portal 172.25.0.11:3260 --login 20 21 [root@localhost ~]# lsblk 22 23 [root@localhost ~]# fdisk /dev/sda 24 25 Command (m for help): p 26 27 Command (m for help): n 28 29 Select (default p): p 30 31 Partition number (1-4, default 1): 1 32 33 First sector (8192-6291455, default 2048): 34 35 Using default value 8192 36 37 Last sector, +sectors or +size{K,M,G} (8192-6291455, default 6291455): +2100M 38 39 Command (m for help): w 40 41 [root@localhost ~]# mkdir /mnt/data 42 43 [root@localhost ~]# vim /etc/fstab 44 45 [root@localhost ~]# /dev/sda1 /mnt/data ext4 defaults,_netdev 0 0 46 47 [root@localhost ~]# mount -a 48 49 [root@localhost ~]# df -TH 50 51 [root@localhost ~]# shutdown -h 0 52
模擬考試環境
題目21 數據庫
21.配置一個數據庫
在serverX上創建一個MariaDB數據庫,名為Contacts,並符合以下要求
數據庫應該包含來自數據庫復制的內容,復制文件的URL為
ftp://172.25.254.250/pub/RHCE/user.mdb
數據庫只能被localhost訪問
除了root用戶,此數據庫只能被用戶Raikon查詢,此用戶的密碼為atenorth
root用戶的密碼為atenorth,同時不允許空密碼登錄
參考步驟
1 [root@localhost ~]# yum groupinstall mariadb mariadb-client -y 2 3 [root@localhost ~]# systemctl start mariadb 4 5 [root@localhost ~]# systemctl enable mariadb 6 7 [root@localhost ~]# mysql_secure_installation 8 9 Set root password? [Y/n] y 10 11 New password: 12 13 Re-enter new password: 14 15 Remove anonymous users? [Y/n] y 16 17 Disallow root login remotely? [Y/n] y 18 19 Remove test database and access to it? [Y/n] y 20 21 Reload privilege tables now? [Y/n] y 22 23 [root@localhost ~]# ll /root/users.mdb 24 25 [root@localhost ~]# cd /root/ #進入users.mdb所在的目錄,方便后面source 26 27 [root@localhost ~]# mysql -u root -p 28 29 create database Contacts; 30 31 use Contacts; 32 33 source users.mdb #source一下,前提當前目錄有這個文件 34 35 create user r1@localhost identified by 'redhat'; 36 37 grant select on Contacts.* to r1@localhost; 38
模擬考試環境
這里我們將foundation0上的users.mdb復制到server上。
在serverX上創建一個MariaDB數據庫,名為Contacts
root用戶的密碼為atenorth,同時不允許空密碼登錄
數據庫應該包含來自數據庫復制的內容, user.mdb
數據庫只能被localhost訪問
除了root用戶,此數據庫只能被用戶Raikon查詢,此用戶的密碼為atenorth
注意事項
無
題目22 數據庫查詢
22.數據庫查詢
在系統serverX上使用數據庫Contacts,並使用相應的SQL查詢以回答下列問題:
密碼是tangerine的人的名字?
有多少人的姓名是John同時居住在guangzhou?
參考步驟
1 [root@localhost ~]# mysql -u root -p 2 3 use Contacts; 4 5 show tables; 6 7 desc pass; 8 9 select * from pass where password="tangerine"; #根據題目要求 10 11 desc name; 12 13 select * from name where aid=3; #根據上面查詢結果 14 15 desc loc; 16 17 select * from name inner join loc where name.aid=loc.cid and loc.loction='guangzhou'; 18
模擬考試環境
密碼是tangerine的人的名字?通過上面的2次查詢看到mary的密碼是這個。
有多少人的姓名是John同時居住在guangzhou?
這里1 row in set,表示即叫John又住在廣州的有1個人。
注意事項
無






















































































































































































