【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰

【第一題】系統環境:我們操作的系統爲RHEL7.0系統,其中Hostname:station.rhce.cc,IP address:192.168.122.100,Netmask:255.255.255.0,Gateway:192.168.122.1,NameServer:192.168.122.10,Root密碼:redhat
操作步驟:
(1)由於發現使用系統給定的密碼'redhat'無法登陸系統,所以首先需要重置系統的root密碼,按照下圖點擊強制復位後重新啓動系統後,點擊按鍵:e
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(2)將光標調整到'rhgb quiet'後面並將其刪除,然後寫上:# init=/bin/sh,然後按:Ctrl+x組合鍵。
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(3)接着寫上如下內容:# mount -o remount,rw /,然後回車;然後重新設置密碼:# echo redhat | passwd --stdin root,接着回車;接着寫:# touch /.autorelabel,創建一個隱藏文件並回車;最後寫:# exec /sbin/init,直接回車運行,此時重置密碼任務完成。
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(4)給系統重新設置主機名:# hostnamectl set-hostname station.rhce.cc
(5)進入到如下目錄:# cd /etc/sysconfig/network-scripts,並且編輯:# vim ifcfg-eth0,並添加如下的信息:
DEVICE=eth0
NAME=eth0
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.122.100
NETMASK=255.255.255.0
GATEWAY=192.168.122.1
DNS1=192.168.122.10
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(6)接着將網絡重啓一下:# systemctl restart network
(7)使用ssh方式連接虛擬機:# ssh [email protected] -X,此時便連接到station的機器上了。
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
驗證:# ping station.rhce.cc能夠正常的ping通,說明網絡信息已經配置成功。
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰


【第二題】SELinux必須運行在Enforcing模式下。
操作步驟:
(1)首先查看系統的SELinux的設置情況:# getenforce
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(2)同時設置SELinux的模式在當前爲Enforcing模式:# setenforce 1
(3)需要確保重新啓動系統後仍然運行在Enforcing模式,進入配置文件進行設置:# vim /etc/selinux/config
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(4)修改配置文件,將原來的'SELINUX=permissive'修改爲'SELINUX=enforcing',最後':wq'保存退出。
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰


【第三題】配置YUM源,使用地址ftp://server.rhce.cc/dvd 作爲默認的源。
操作步驟:
(1)進入目錄# cd /etc/yum.repos.d/
(2)編輯:# vim aa.repo
(3)在數據倉庫repo文件中寫下配置信息:
[aa]
name=aa
baseurl=ftp://server.rhce.cc/dvd
enabled=1
gpgcheck=0
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
驗證:在系統中安裝bc計算器的軟件包,如果能夠正常的安裝成功,說明YUM源配置是正確的,# yum inStall bc -y
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰


【第四題】調整邏輯卷vo的大小,它的文件系統應該爲290M。確保這個文件系統的內容仍然完整。注意:分區很少能精確到和要求的大小相同,因此範圍在260M到320之間都是可接受的。
操作步驟:
(1)首先查看邏輯卷的大小:# lvscan
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(2)計算缺少的邏輯卷空間大小:# echo 290-192 | bc
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(3)在邏輯卷中擴展缺少的空間大小:# lvextend -L +98M /dev/vg0/vo
(4)此時需要確定文件系統的類型:# df -hT
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(5)需要將文件系統的邏輯捲進行擴展:# xfs_growfs /home/
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
注意:如果文件系統顯示的是ext4類型,則操作:# resize2fs /dev/mapper/vg0-vo


【第五題】創建下面的用戶、組合組成員關係:(a)名字爲adminuser的組;(b)用戶natasha,使用adminuser作爲附屬組;(c)用戶harry,也使用adminuser作爲附屬組;(d)用戶sarah,在系統上不能訪問可交互的shell,且不是adminuser的成員,natasha,harry,sarah密碼都是redhat
操作步驟:
(1)首先創建用戶組:# groupadd adminuser
(2)創建用戶natasha:# useradd -G adminuser natasha
(3)創建用戶harry:# useradd -G adminuser harry
(4))創建用戶sarah:# useradd -s /sbin/nologin sarah
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(5)給natasha用戶設置密碼:# echo redhat | passwd --stdin natasha
(6)給harry用戶設置密碼:# echo redhat | passwd --stdin harry
(7)給sarah用戶設置密碼:#echo redhat | passwd --stdin sarah
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰


【第六題】複製文件/etc/fstab到/var/tmp/fstab,配置/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)首先複製文件:# cp /etc/fstab /var/tmp/fstab
(2)查看文件的屬主和屬組:# ls -l /var/tmp/fstab
(3)系統默認爲不能被任何用戶執行,沒有'x'執行權限。
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(4)由於對用戶單獨設置權限,所以使用ACL訪問控制列表實現:# setfacl -m u:natasha:rw- /var/tmp/fstab
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(5)對harry用戶單獨設置權限:# setfacl -m u:harry:--- /var/tmp/fstab
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(6)其他用戶具有讀的能力:# ls -l /var/tmp/fstab,發現其他用戶具有'r'的權限。


【第七題】用戶natasha必須配置一個corn.job,當地時間每天14:23運行,執行:/bin/echo hiya
操作步驟:
(1)首先給natasha創建一個計劃任務:# crontab -e -u natasha
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(2)配置計劃任務的“分、時、日、月、星期、命令”等信息:23 14 * * * /bin/echo hiya
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(3)輸入':wq'保存退出。
驗證:檢查剛剛的配置信息:# crontab -l -u natasha
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰


【第八題】創建一個目錄/home/adminS,使之具有下面的特性:(a)/home/adminS所屬組爲adminuser;(b)這個目錄對組adminuser的成員具有可讀、可寫和可執行,但是不是對其他任何用戶。(root可以訪問系統上所有的文件和目錄);(c)在/home/adminS下創建的任何文件所屬組自動設置爲adminuser
操作步驟:
(1)首先創建目錄:# mkdir /home/adminS
(2)/home/adminS所屬組爲adminuser:# chgrp adminuser /home/adminS
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(3)接着查詢目錄/home/adminS的權限情況:#ls -ld /home/adminS
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(4)發現對組adminuser的成員缺少寫的權限,因此需要添加:# chmod g+w /home/adminS
(5)不對其他任何用戶:# chmod o-rx /home/adminS
(6)在/home/adminS下創建的任何文件所屬組自動設置爲adminuser,可以如下操作:# chmod g+s /home/adminS
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰


【第九題】從http://rhgls.rhce.cc/pub/updates 安裝合適的內核更新。下面的要求必須滿足:更新的內核作爲系統啓動的默認內核;原來的內核在系統啓動的時候仍然有效和可引導。
操作步驟:
(1)首先用瀏覽器下載內核:# firefox http://rhgls.rhce.cc/pub/updates &,並且保存在系統桌面。(如圖9-1和9-2)
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(2)升級下載好的內核:# rpm -ivh kernel-3.10.0-299.el7.x86_64.rpm,後續啓動系統後會默認使用升級的了內核的系統。(如圖9-3和9-4)
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰


【第十題】系統host.rhce.cc提供了一個LDAP驗證服務,你的系統應該按下面的要求綁定到這個服務:(a)驗證服務的基準DN是dc=rhce,dc=cc;(b)LDAP用於提供賬戶信息和驗證信息連接應該使用位於http://host.rhce.cc/pub/domain11.crt 的證書加密;(c)當正確的配置後,ldapuser11可以登錄你的系統,但沒有家目錄,直到你完成autofs題目ldapuser11的密碼是:redhat
操作步驟:
(1)由於需要綁定LDAP服務,首先查詢需要安裝的軟件包:# yum list auth*
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(2)將查詢的到的軟件包安裝起來:# yum inStall authconfig-gtk.x86_64 -y
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(3)運行這個安裝完畢的軟件:# authconfig-gtk &,使其在後臺運行。
(4)然後在“身份&驗證”下的“用戶帳戶數據庫”中,選擇LDAP
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(5)按照系統要求安裝缺少的軟件包:# yum inStall nss-pam-ldapd -y
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(6)認證方法選擇LDAP密碼,在LDAP搜索基礎DN中,填寫dc=rhce,dc=cc;在LDAP服務器中,填寫host.rhce.cc
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(7)勾選“用TLS加密連接”,在“下載CA證書”中填寫:http://host.rhce.cc/pub/domain11.crt
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
驗證:此時輸入:# id ldapuser11,可以驗證已經存在ldapuser11這個用戶。
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰


【第十一題】配置你的系統使它是rhgls.rhce.cc的一個NTP客戶。
操作步驟:
(1)因爲需要創建一個時間服務器,所以首先安裝軟件包:# yum inStall system-config-date -y
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(2)執行命令:# system-config-date &,將窗口中示例的信息刪除,並添加時間服務器:rhgls.rhce.cc,最後點擊“確定”啓動時間服務器即可。
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰


【第十二題】配置autofs自動掛載LDAP用戶的家目錄,如下要求:host.rhce.cc(192.168.122.10)使用NFS共享了/home/guests給你的系統。(a)這個文件系統包含了預先設置好的用戶ldapuser11的家目錄;(b)ldapuser11的家目錄是host.rhce.cc:/home/guests/ldapuser11;(c)ldapuser11的家目錄應該自動掛載到本地/home/guests下面的/home/guests/ldapuser11;(d)家目錄必須對用戶具有可寫權限,ldapuser11的密碼是:redhat
操作步驟:
(1)首先安裝自動掛載的軟件包:# yum inStall autofs -y
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(2)然後編輯:# vim /etc/auto.master,並在auto.master文件中添加一行:/home/guests /etc/auto.aa
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(3)同時提供系統所需的auto.aa文件:# cp /etc/auto.misc /etc/auto.aa
(4)在新生成的auto.aa文件中添加一行:ldapuser11 -fstype=nfs,rw,vers=3 host.rhce.cc:/home/guests/ldapuser11,使得ldapuser11的家目錄自動掛載到本地/home/guests下面的/home/guests/ldapuser11
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(5)將自動掛載autofs服務啓動:# systemctl start autofs
(6)並加入開機自動啓動項中:# systemctl enable autofs
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
驗證:# su - ldapuser11,可以發現用戶ldapuser11自動生成了家目錄,說明自動掛載成功。
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰


【第十三題】創建一個用戶alex,uid爲3400。這個用戶的密碼爲:redhat
操作步驟:
(1)首先創建alex用戶:# useradd -u 3400 alex
(2)設置用戶的密碼:# echo redhat | passwd --stdin alex
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰


【第十四題】爲你的系統上額外添加一個大小爲512M的交換分區,這個交換分區在系統啓動的時候應該能自動掛載。不要移除和更改你係統上現存的交換分區。
操作步驟:
(1)首先查詢系統的分區情況:# lsblk,由於系統已經有了3個分區,所以第四個建議創建擴展分區,並在擴展分區上創建邏輯分區。
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(2)首先進入分區創建:# fdisk /dev/sda,然後輸入:
p -----------(打印)
n -----------(創建一個新的擴展分區)
e -----------(選擇爲擴展分區,並兩次回車選擇默認設置)
n -----------(創建一個新的邏輯分區)
+512M ----(分區大小爲512M)
t ------------(改變分區的類型)
5 -----------(選擇需要修改的分區號)
82 ----------(改變爲Swap類型)
w------------(保存退出)
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(3)接着需要將系統分區表的變化通知內核:# partprobe /dev/vda
(4)然後需要將分區設置爲交換分區類型:# mkswap /dev/vda5
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(5)接着需要開機能夠自動啓動,進入配置文件:# vim /etc/fstab,並且寫上如下一行:
/dev/vda5 swap swap defaults 0 0
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(6)最後需要將swap分區手動啓動一下:# swapon -a
驗證:在命令行輸入:# swapon -s,如果有出現/dev/vda5則說明512M的交換分區掛載成功。
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰


【第十五題】找出所有所有者是ira的文件,並把它們拷貝到/root/findresults目錄。
操作步驟:
(1)首先將題目要求的文件夾創建出來:# mkdir /root/findresults
(2)將需要查找出的文件放入文件夾中,注意使用分號結束:# find / -user ira -exec cp -a {} /root/findresults/ \;
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
驗證:輸入命令:# ls -l /root/findresults,看到屬主爲ira,即說明已經將所有者爲ira的文件拷貝到了對應的目錄下了。
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰


【第十六題】在/usr/share/dict/words中找出所有包含seismic的行。複製所有這些行並按照原來的順序放在文件/root/lines中。/root/lines應該沒有空白行,所有的行必須是/usr/share/dict/words中原有的行的精確複製。
操作步驟:
(1)首先將符合條件的行找出來並且重定向到對應的文件中:# grep seismic /usr/share/dict/words > /root/lines
驗證:# cat /root/lines即可發現都是包含seismic的行。
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰


【第十七題】創建名爲/root/backup.tar.bz2的備份文件,其中包含/usr/local的內容,tar必須使用bzip2壓縮。
操作步驟:
(1)首先進入需要將其壓縮備份的文件夾內:# cd /usr/local
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(2)如果沒有bzip2類型的壓縮格式,那麼安裝起來即可:# yum inStall bzip2 -y
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(3)因爲需要創建的文件是bzip2類型,所以將文件夾內的文件全部壓縮:# tar jcvf /root/backup.tar.bz2 *
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
驗證:此時在家目錄中便可以看到一個:backup.tar.bz2的文件,說明創建備份文件成功。
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰


【第十八題】按照下面的要求創建一個新的邏輯卷:(a)邏輯卷命名爲database,屬於卷組datastore,且大小爲50個擴展;(b)在卷組datastore的邏輯卷每個擴展的大小爲16MiB;(c)使用vfat格式化這個新的邏輯卷,此邏輯卷在系統啓動的時候應該能自動掛載到/mnt/database。
操作步驟:
(1)首先需要查看一下當前的分區狀況:# lsblk,發現創建邏輯分區比較合適,邏輯卷的大小至少爲50*16=800M,所以卷組的大小設置爲1G比較合適。
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(2)輸入如下的命令進入分區創建狀態:# fdisk /dev/vda,然後鍵入:
p --------(打印當前分區的情況)
n --------(創建一個新的分區)
+1G ----(分區大小設爲1G)
t ---------(轉換分區類型)
6 --------(選擇第六個分區)
8e ------(設置爲LVM邏輯卷類型)
w --------(保存退出)
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(3)最後將系統分區表的變化通知內核:# partprobe /dev/vda
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(4)首先創建物理卷:# pvcreate /dev/vda6
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(5)然後創建卷組:# vgcreate -s 16 datastore /dev/vda6,創建的卷組大小爲16M,卷組名爲datastore
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(6)最後創建邏輯卷:# lvcreate -l 50 -n database datastore,卷組是50個擴展,並且邏輯卷名爲database,由卷組datastore創建而來。
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(7)此時還需要格式化這個新的邏輯卷,並且需要確保vfat格式可用:# yum whatprovides */mkfs.vfat
(8)將對應格式的軟件包安裝起來:# yum inStall dosfstools-3.0.20-9.el7.x86_64 -y
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(9)最後格式化這個新的邏輯卷:# mkfs.vfat /dev/datastore/database
(10)因爲需要在開機的時候能夠自動掛載,所以先創建對應的文件目錄:# mkdir /mnt/database
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(11)編輯開機自動掛載文件:# vim /etc/fstab,然後在配置文件中寫上:/dev/datastore/database /mnt/database vfat defaults 0 0一行即可。
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
驗證:首先輸入:# mount -a重新掛載一下文件系統,然後查詢掛載情況:# df -hT,發現已經掛載成功了。
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰


【第十九題】系統環境:我們操作的系統爲RHEL7.0系統,其中第一臺機器主機名:system1,IP address:192.168.122.100,Netmask:255.255.255.0,第二臺機器主機名:system2,IP address:192.168.122.200,Netmask:255.255.255.0,Gateway:192.168.122.1,NameServer:192.168.122.10,Root密碼:redhat
(a)配置SELinux,SELinux必須在兩個系統system1和system2中運行於Enforcing模式。
操作步驟:
(1)由於系統的yum源沒有配置,所以先進入system1機器上的yum文件夾下:# cd /etc/yum.repos.d
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(2)然後創建yum配置文件:# vim aa.repo
[aa]
name=aa
baseurl=ftp://server.rhce.cc/dvd
enabled=1
gpgcheck=0
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(3)把system1上配置好的yum源文件拷貝到system2系統上:# scp /etc/yum.repos.d/aa.repo system2:/etc/yum.repos.d/
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(4)打開SELinux配置文件:vim /etc/selinux/config
(5)然後更改配置文件:SELINUX=enforcing
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(6)修改當前系統的SELinux配置爲enforcing模式:# setenforce 1,如上所有的配置同樣都在system1和system2上都操作一遍即可。
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰


【第二十題】配置SSH訪問,按以下要求配置SSh訪問:(a)用戶能夠從域rhce.cc的客戶端通過SSH遠程訪問您的兩個虛擬機系統;(b)在域my133.org內的客戶端不能訪問您的兩個虛擬機系統。
操作步驟:
(1)首先在system1機器上編輯允許遠程訪問的配置文件:# vim /etc/hosts.allow
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(2)由於需要用戶能夠從rhce,cc的客戶端通過SSH遠程訪問系統,故添加如下一行:
sshd : 192.168.122.0/255.255.255.0
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(3)接着在system1機器上編輯禁止遠程訪問的配置文件:# vim /etc/hosts.deny
(4)由於在域my133.org內的客戶端不能訪問系統,故添加如下一行:
sshd : .my133.org
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(5)將system1上配置的文件拷貝到system2機器上:# scp /etc/hosts.allow /etc/hosts.deny system2:/etc/
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
注意:添加的一行信息爲域名解析的IP地址,同時子網掩碼需要寫全:255.255.255.0,不能用數字24替代。


【第二十一題】自定義用戶環境,在系統system1和system2上創建自定義命令名爲qstat此自定義命令將執行以下命令:/bin/ps-Ao pid,tt,user,fname,rsz此命令對系統中所有 用戶有效。
操作步驟:
(1)首先在system1機器上編輯配置文件:# vim /etc/bashrc
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(2)可以在配置文件的末行加上一句:
alias qstat='/bin/ps-Ao pid,tt,user,fname,rsz'
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(3)然後將文件立即生效:# source /etc/bashrc
(4)最後在system2機器上做相同的配置即可。
驗證:在命令行執行如下命令:# qstat,可以查看到命令正常執行,說明自定義用戶環境的任務完成了。
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰


【第二十二題】配置端口轉發,在系統system1配置端口轉發,要求如下:在192.168.122.0/24網絡中的系統,訪問system1的本地端口5423將被轉發到80,此設置必須永久有效。
操作步驟:
(1)因爲需要配置端口轉發,即配置防火牆的富規則,可以通過找模板的方式處理:# man -k firewall
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(2)然後找到firewalld.richlanguage這一項:# man firewalld.richlanguage,然後進行搜索查找:/EXAMPLES,找到模板Example 3和Example 5
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(3)然後寫防火牆的富規則,當訪問system1的本地端口5423將被轉發到80:# firewall-cmd --add-rich-rule ' rule family="ipv4" source address="192.168.122.0/24" forward-port to-port="80" protocol="tcp" port="5423" '
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(4)此設置必須永久有效:# firewall-cmd --add-rich-rule ' rule family="ipv4" source address="192.168.122.0/24" forward-port to-port="80" protocol="tcp" port="5423" ' --permanent
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰


【第二十三題】配置聚合鏈路,在system1.rhce.cc和system2.rhce.cc之間按以下要求配置一個鏈路:(a)此鏈路使用eth1和eth2;(b)此鏈路在一個接口失效時仍然能工作;(c)此鏈路在system1使用下面的地址172.16.11.25/255.255.255.0;(d)此鏈路在system2使用下面的地址172.16.11.35/255.255.255.0;(e)此鏈路在系統重啓之後依然保持正常狀態。
操作步驟:
(1)因爲需要配置聚合鏈路,所以首先可以去system1機器上找模板:# cd /usr/share/doc/teamd-1.9/example_ifcfgs/1/
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(2)將如下文件夾中的3個文件拷貝到網絡配置的文件夾中:# cp * /etc/sysconfig/network-scripts/
(3)進入到網絡配置文件夾中:# cd /etc/sysconfig/network-scripts/
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(4)在system1機器上編輯第一個配置文件:# vim ifcfg-team_test0
DEVICE="team_tset0"
NAME=team_test0
DEVICETYPE="Team"
ONBOOT="yes"
BOOTPROTO=none
NETMASK=255.255.255.0
IPADDR=172.16.11.25
TEAM_CONFIG='{"runner":{"name":"activebackup"}}'
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(4)在system1機器上編輯第二個配置文件:# vim ifcfg-eth1
DEVICE="eth1"
NAME=eth1
DEVICETYPE="TeamPort"
ONBOOT="yes"
TEAM_MASTER="team_test0"
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(5)在system1機器上編輯第三個配置文件:# vim ifcfg-eth2
DEVICE="eth2"
NAME=eth2
DEVICETYPE="TeamPort"
ONBOOT="yes"
TEAM_MASTER="team_test0"
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(6)接着重啓服務即可:# systemctl restart network
(6)在system1的network-scripts文件夾下,將配置的文件拷貝到system2的機器上:# scp ifcfg-eth1 ifcfg-eth2 ifcfg-team_test0 system2:/etc/sysconfig/network-scripts/
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(7)在system2機器上編輯第一個配置文件:# vim ifcfg-team_test0
DEVICE="team_tset0"
NAME=team_test0
DEVICETYPE="Team"
ONBOOT="yes"
BOOTPROTO=none
NETMASK=255.255.255.0
IPADDR=172.16.11.35
TEAM_CONFIG='{"runner":{"name":"activebackup"}}'
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(8)最後重啓兩臺機器的服務即可:# systemctl restart network
驗證:在system1機器上操作:# ping 172.16.11.35,並在system2機器上操作:# ping 172.16.11.25都可以正常的通信,表明配置的聚合鏈路生效了。
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰


【第二十四題】配置IPv6地址,在你的系統上配置接口eth0使用下列IPv6地址:(a)system1上的地址應該是200e:ac18::e0a/64;(b)system2上的地址應該是200e:ac18::e14/64;(c)兩個系統必須能與網絡200e:ac18/64內的系統通信。(d)地址必須在重啓後依舊生效。(e)兩個系統必須保持當前的IPv4地址並能通信。
操作步驟:
(1)首先在system1上查看一下名稱和設備各均爲eth0:# nmcli connection
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(2)將system1設置爲auto:# nmcli connection modify eth0 ipv6.method auto
(3)接着設置IP地址:# nmcli connection modify eth0 ipv6.addresses 200e:ac18::e0a/64
(4)接着將system1設置爲manual:# nmcli connection modify eth0 ipv6.method manual
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(5)在system2上就行同樣的操作:# nmcli connection modify eth0 ipv6.method auto
(6)# nmcli connection modify eth0 ipv6.addresses 200e:ac18::e14/64
(7)# nmcli connection modify eth0 ipv6.method manual
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(8)最後重啓網絡:# systemctl restart network
驗證:在system1機器上ping第二臺機器system2:# ping6 200e:ac18::e14,並且反過來在system2上驗證:# ping6 200e:ac18::e0a
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰


【第二十五題】配置本地郵件服務,在系統system1和system2上配置郵件服務,滿足以下要求:(a)這些系統不接收外部發送來的郵件;(b)在這些系統上本地發送的任何郵件都會自動路由到rhgls.rhce.cc;(c)從這些系統上發送的郵件顯示來自於rhce.cc;(d)您可以通過發送郵件到本地用戶'dave'來測試您的配置,系統rhgls.rhce.cc已經配置把此用戶的郵件轉到下列URL:http://rhgls.rhce.cc/received_mail/11
操作步驟:
(1)首先可以在system1機器的防火牆中work zone添加允許所有的郵件通過:# firewall-cmd --add-service=smtp
(2)並且將配置寫入持久態:# firewall-cmd --add-service=smtp --permanent
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(3)進入郵件配置文件夾:# cd /etc/postfix
(4)編輯配置文件:# vim main.cf
(5)題中要求系統不接收來自外部的郵件,所以修改:'mydestination = '
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(6)如果接受了來自外部的郵件,則先在系統中查找關鍵字:# postconf | grep transp
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(7)找到'local_transport'關鍵字後,接着讓系統給出一個報錯:# postconf -e local_transport=err:xxxxx
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(7)由於需要本地發送的任何郵件都會自動路由到rhgls.rhce.cc,所以在配置文件中修改:relayhost = [rhgls.rhce.cc]
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(8)在系統上發送的郵件顯示來自於rhce.cc,所以修改:myorigin = rhce.cc
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(9)在system1上做完以上的配置後,再在system2機器上進行同樣的配置:# scp /etc/postfix/main.cf system2:/etc/postfix/
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(10)最後重啓郵件服務器即可:# systemctl restart postfix
驗證:
(1)首先在system1機器上安裝mail客戶端:# yum inStall mailx -y
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(2)然後發送一封郵件給已經配置好的本地用戶:# echo aaaaaa | mail -s 'aaaa' dave
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(3)然後再瀏覽器中打開下列URL:http://rhgls.rhce.cc/received_mail/11 ,即可發現郵件已經可以正常的接收了,同樣的測試在system2機器上操作一次。
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰


【第二十六題】通過SMB共享目錄,在system1上配置SMB服務:(a)您的SMB服務器必須是STAFF工作組的一個成員;(b)共享/common目錄,共享名必須爲common;(c)只有rhce.cc域內的客戶端可以訪問common共享;(d)common必須是可以瀏覽的;(e)用戶andy必須能夠讀取共享中的內容,如果需要的話,驗證的密碼是:redhat
操作步驟:
(1)首先把服務安裝起來:# yum inStall samba -y
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(2)編輯配置文件:# vim /etc/samba/smb.conf
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(3)由於SMB服務器必須是STAFF工作組的一個成員,所以修改配置文件:workgroup = STAFF
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(4)由於共享/common目錄,所以先創建目錄:# mkdir /common
(5)在samba服務中每創建一個文件都需要修改上下文:# chcon -R -t samba_share_t /common
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(6)由於具體的訪問控制是在配置文件中設置的,所以在防火牆work zone中允許所有的數據包通過:# firewall-cmd --add-service=samba
(7)並且將配置寫入持久態:# firewall-cmd --add-service=samba --permanent
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(8)繼續編輯配置文件:# vim /etc/samba/smb.conf
(9)在最後一行添加如下內容:
[common]
path = /common
hosts allow = 192.168.122.0/24
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(10)由於發現:# id andy,用戶不存在,所以創建用戶:# useradd andy
(11)給創建的用戶設置密碼:# echo redhat | passwd --stdin andy
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(12)因爲後續驗證時需要在system2機器上測試samba服務,但是軟件包並沒有安裝,查詢需要在system2機器上安裝的軟件包:# yum whatprovides */smbclient
(13)在system2機器上將軟件包安裝起來:# yum inStall samba-client -y
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(14)然後添加samba用戶:# smbpasswd -a andy
(15)然後輸入:#pdbedit -L,發現andy用戶已經添加到samba域裏了。
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(16)最後在system1機器上啓動服務:# systemctl start smb
(17)並將服務加入開機啓動項:# systemctl enable smb
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
驗證:
(1)在system2機器上驗證samba服務是否配置成功:# smbclient -L //system1 -U andy%redhat
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(2)接着查看用戶是否可以登錄common目錄:# smbclient //system1//common -U andy%redhat
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰


【第二十七題】配置多用戶SMB掛載,在system1共享通過SMB目錄/miscellaneous滿足以下要求:(a)共享名爲miscellaneous;(b)共享目錄miscellaneous只能被rhce.cc域中的客戶端使用;(c)共享目錄miscellaneous必須可以被瀏覽;(d)用戶silene必須能以讀的方式訪問此共享,訪問密碼是redhat;(e)用戶akira必須能以讀寫的方式訪問此共享,訪問密碼是redhat;(f)此共享永久掛載在system2.rhce.cc上的/mnt/multi目錄,並使用用戶silene作爲認證,任何用戶可以通過akira來臨時獲取寫的權限。
操作步驟:
(1)首先在system1機器上創建題目要求的目錄:# mkdir /miscellaneous
(2)同時需要修改目錄文件的上下文:# chcon -R -t samba_share_t /miscellaneous
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(3)接着編輯samba的配置文件:vim /etc/samba/smb.conf
[miscellaneous]
path = /miscellaneous
hosts allow = 192.168.122.0/24
writable = no
write list = akira
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(4)同時需要將目錄的其他用戶設置可寫的權限:# chmod o+w /miscellaneous/
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(5)創建silene和akira用戶:
# useradd silene
# useradd akira
(6)並且給用戶設置密碼:
# echo redhat | passwd --stdin silene
# echo redhat | passwd --stdin akira
(7)然後將用戶加入到samba服務中:
# smbpasswd -a silene
# smbpasswd -a akira
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(8)然後在system1機器上重啓服務:# systemctl restart smb.service
(9)然後在system2機器上測試silene用戶是否可以登錄samba共享:# smbclient //system1/miscellaneous -U silene%redhat,發現可以登錄samba共享,使用silene用戶創建目錄:# mkdir aa,發現沒有權限創建目錄。
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(10)接着在system2機器上測試akira用戶是否可以登錄samba共享:# smbclient //system1/miscellaneous -U akira%redhat,發現可以登錄samba共享,使用akira用戶創建目錄:# mkdir bb,發現有權限創建文件目錄。
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(11)由於需要將samba共享永久掛載在system2機器上,所以先創建好所需的目錄:# mkdir /mnt/multi,並編輯掛載配置文件:# vim /etc/fstab
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(12)然後添加如下的一行:
//system1/miscellaneous /mnt/multi cifs defaults,username=silene,password=redhat,multiuser,sec=ntlmssp 0 0
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(13)由於是多用戶掛載,所以需要安裝cifs軟件包:# yum inStall cifs-u* -y
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(14)然後重置掛載的配置文件:# mount -a
(15)接着輸入:# df -hT,發現已經掛載成功了。
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
驗證:
(1)首先在system2機器上創建多個測試用戶:
# useradd tom1
# useradd tom2
# useradd tom3
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(2)首先在system2機器上切換到tom1用戶:# su - tom1,然後進入到創建好的目錄中:# cd /mnt/multi
(3)先使用silene用戶測試:# cifscreds add system1 -u silene,接着測試:# touch ssss,發現沒有創建文件的權限。
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(4)然後在system2機器上切換到tom2用戶:# su - tom2,並且進入到創建好的目錄中:# cd /mnt/multi
(5)再使用akira用戶測試:# cifscreds add system1 -u akira,接着測試:# mkdir bbbb,發現可以正常的創建目錄。所以實現了此共享掛載在system2對應的目錄上,並且對應的用戶擁有各自的權限了。
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰


【第二十八題】配置NFS服務,在system1配置NFS服務,要求如下:(a)以只讀的方式共享目錄/public同時只能被rhce.cc域中的系統訪問;(b)以讀寫的方式共享目錄/protected能被rhce.cc域中的系統訪問;(c)訪問/protected需要通過Kerberos安全加密,您可以使用下面URL提供的密鑰http://host.rhce.cc/materials/nfs_server.keytab ;(d)目錄/protected應該包含名爲confidential擁有人爲ldapuser11的子目錄;(e)用戶ldapuser11能以讀寫方式訪問:/protected/confidential
操作步驟:
(1)因爲system1需要配置NFS服務,所以首先啓動服務:# systemctl start nfs-server
(2)然後還要設置開機自動啓動:# systemctl enable nfs-server
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(3)由於system1只能被rhce.cc域中的系統訪問,所以設置防火牆富規則:# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.122.0/24" service name="nfs" accept'
(4)並且寫入持久態,使重啓後仍然生效:# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.122.0/24" service name="nfs" accept' --permanent
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(5)# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.122.0/24" service name="rpc-bind" accept'
(6)# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.122.0/24" service name="rpc-bind" accept' --permanent
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(7)# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.122.0/24" service name="mountd" accept'
(8)# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.122.0/24" service name="mountd" accept' --permanent
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(9)接着在system1上創建public目錄:# mkdir /public
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(10)在system1上編輯配置文件:# vim /etc/exports,然後添加如下的一行:/public *(ro,sync),並將修改內容生效:# exportfs -arv(如圖28-6和28-7)
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(11)接着在system2機器上測試NFS是否生效:# showmount -e system1,然後掛載system1的目錄:# mount system1:/public /mnt
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(12)然後在system1上創建protected目錄:# mkdir /protected
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(13)在system1上編輯配置文件:# vim /etc/exports,然後添加如下的一行:/protected *(rw,sync),並將修改內容生效:# exportfs -arv(如圖28-10和28-11)
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(14)因爲訪問protected需要通過Kerberos安全加密:# wget -O /etc/krb5.keytab http://host.rhce.cc/materials/nfs_server.keytab
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(15)因爲配置了安全加密,所以需要修改配置文件:# vim /etc/exports,修改爲:/protected *(rw,sync,sec=krb5p),並且重新生效配置:# exportfs -arv(如圖28-13和28-14)
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(16)由於system1上配置了安全加密,所以也要修改system1配置文件:# vim /etc/sysconfig/nfs,修改如下配置'PRCNFSDARGS="-V 4.2"'強制使用4.2版本。
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(17)由於system1配置了4.2版本,所以需要修改protected目錄的上下文:# chcon -R -t public_content_t /protected/
(18)在system1上創建confidential目錄:# mkdir /protected/confidential,並再次修改上下文:# chcon -R -t public_content_t /protected/
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(19)然後修改目錄的屬主信息:# chown ldapuser11 /protected/confidential
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(20)最後system1需要重啓nfs-server服務:# systemctl restart nfs-server.service,接着還要重啓:# systemctl restart nfs-secure-server,並加入開機啓動項:# systemctl enable nfs-secure-server
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰


【第二十九題】掛載一個NFS共享,在system2上掛載一個來自system1.rhce.cc的NFS共享,並符合下列要求:(a)/public掛載在下面的目錄上/mnt/nfsmount;(b)/protected掛載在下面的目錄上/mnt/nfssecure並使用安全的方式,密鑰下載URL如下:http://host.rhce.cc/materials/nfs_client.keytab ;(c)用戶ldapuser11能夠在/mnt/nfssecure/confidential上創建文件;(d)這些文件系統在系統啓動時自動掛載。
操作步驟:
(1)在system2機器上操作,首先需要驗證NFS是否有掛載成功:# showmount -e system1
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(2)創建nfsmount目錄:# mkdir /mnt/nfsmount
(3)編輯fstab配置文件:# vim /etc/fstab
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(4)在配置文件中添加如下一行信息:system1.rhce.cc:/public /mnt/nfsmount nfs defaults 0 0,並且重啓掛載:# mount -a,測試已經掛載成功了:# df -hT(如圖29-3和29-4)
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(5)創建nfssecure目錄:# mkdir /etc/nfssecure
(6)並且需要使用安全的方式:# wget -O /etc/krb5.keytab http://host.rhce.cc/materials/nfs_client.keytab
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(7)因爲system2使用了安全的方式,所以需要啓動如下服務:# systemctl start nfs-secure
(8)並將服務加入開機啓動項中:# systemctl enable nfs-secure
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(9)此時進行掛載,編輯fstab配置文件:# vim /etc/fstab
(10)在配置文件中添加如下一行信息:system1.rhce.cc:/protected /mnt/nfssecure nfs defaults,v4.2,sec=krb5p 0 0,並重新啓動掛載:# mount -a,然後測試掛載已經成功了:# df -hT
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
驗證:
(1)由於用戶ldapuser11能夠在掛載的目錄上創建文件,在system1機器上操作:# ssh [email protected] -X,因爲配置的時候是基於Kerberos進行安全加密的,所以使用SSH的方式登錄的時候就可以基於Kerberos進行認證。
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(2)登錄到confidential目錄:# cd /mnt/nfssecure/confidential,此時用戶ldapuser11就能夠在confidential目錄上創建文件了:# touch aaa
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰


【第三十題】配置web站點,system1上配置一個站點http://system1.rhce.cc 然後執行下述步驟:(a)從http://rhgls.rhce.cc/materials/station.html 下載文件,並且將文件重命名爲index.html不要修改此文件的內容;(b)將文件index.html拷貝到您的web服務器的DocumentRoot目錄下;(c)來自於rhce.cc域的客戶端可以訪問此Web服務;(d)來自於my133t.org域的客戶端拒絕訪問此Web服務。
操作步驟:
(1)首先安裝Web服務:# yum groupinStall web* -y
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(2)接着將服務啓動起來:# systemctl start httpd
(3)並將服務加入開機啓動項:# systemctl enable httpd
(4)編輯配置文件:# vim /etc/httpd/conf/httpd.conf
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(5)修改ServerName的一行:ServerName system1.rhce.cc:80
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(6)下載文件,並且將文件重命名爲index.html:# wget -O /var/www/html/index.html http://rhgls.rhce.cc/materials/station.html
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(7)由於來自rhce.cc域的客戶端可以訪問此Web服務,所以設置防火牆:# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.122.0/24" service name="http" accept'
(8)並且將防火牆的Web規則寫入持久態:# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.122.0/24" service name="http" accept' --permanent
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(9)最後將服務重啓:# systemctl restart httpd.service
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
注意:
(1)有時候重啓服務器之後,使用域名就無法正常訪問了,所以可以在hosts配置文件中解決:# vim /etc/hosts
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(2)爲使重啓Web服務後,仍然可以正常的使用域名訪問,在配置文件中添加一行:
192.168.122.100 system1.rhce.cc system1
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
驗證:打開瀏覽器,輸入:system1.rhce.cc,可以正常訪問,說明Web站點配置成功。
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰


【第三十一題】配置安全web服務,爲站點http://system1.rhce.cc 配置TLS加密,一個已簽名證書從http://host.rhce.cc/materials/system1.crt 獲取,此證書的密鑰從http://host.rhce.cc/materials/system1.key 獲取,此證書的簽名授權信息從http://host.rhce.cc/materials/domain11.crt 獲取。
操作步驟:
(1)因爲需要配置安全web服務,所以先進入目錄:# cd /etc/httpd/conf
(2)先將第一個文件下載到本地:# wget http://host.rhce.cc/materials/system1.crt
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(3)將第二個文件也下載到本地:# wget http://host.rhce.cc/materials/system1.key
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(4)將第三個文件也下載到本地:# wget http://host.rhce.cc/materials/domain11.crt
(5)編輯Web服務中的安全配置文件:# vim /etc/httpd/conf.d/ssl.conf
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(6)修改配置文件中的如下各行信息:
SSLCertificateFile /etc/httpd/conf/system1.crt
SSLCertificateKeyFile /etc/httpd/conf/system1.key
SSLCertificateChainFile /etc/httpd/conf/domain11.crt
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(7)接下來重啓Web服務:# systemctl restart httpd
(8)此時還要將https寫入防火牆富規則中:# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.122.0/24" service name="https" accept'
(9)並且還要將https寫入防火牆規則的持久態中:# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.122.0/24" service name="https" accept' --permanent
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
驗證:打開瀏覽器,輸入:https://system1.rhce.cc ,發現可以正常的訪問,說明安全Web服務配置完成。(如圖31-6至圖31-8)
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰


【第三十二題】配置虛擬主機,在system1上擴展您的web服務器,爲站點http://www.rhce.cc 創建一個虛擬主機,然後執行下述步驟:(a)設置DocumentRoot爲/var/www/virtual;(b)從http://rhgls.rhce.cc/materials/www.html 下載文件並重命名爲index.html不要對文件index.html的內容做任何修改;(c)將文件index.html放到虛擬主機的DocumentRoot目錄下,確保andy用戶能夠在/var/www/virtual目錄下創建文件。注意:原始站點http://system1.rhce.cc 必須仍然能夠訪問,名稱服務器rhce.cc提供對主機名www.rhce.cc 的域名解析。
操作步驟:
(1)首先編輯配置文件:# vim /etc/hosts
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(2)在配置文件中添加如下的一行信息:
192.168.122.100 www.rhce.cc www
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(3)創建DocumentRoot目錄:# mkdir /var/www/virtual
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(4)下載文件:# wget -O /var/www/virtual/index.html http://rhgls.rhce.cc/materials/www.html
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(5)確保andy用戶能夠在此目錄下創建文件:# setfacl -m u:andy:rwx /var/www/virtual/
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(6)由於需要配置虛擬主機,所以可以使用模板:# cp /usr/share/doc/httpd-2.4.6/httpd-vhosts.conf /etc/httpd/conf.d/vhost.conf
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(7)編輯新生成的vhost文件:# vim /etc/httpd/conf.d/vhost.conf
<VirtualHost www.rhce.cc:80>
DocumentRoot /var/www/virtual
ServerName www.rhce.cc
</VirtualHost>
<VirtualHost system1.rhce.cc:80>
DocumentRoot /var/www/html
ServerName system1.rhce.cc
</VirtualHost>
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(8)最後將服務重啓一下:# systemctl restart httpd
驗證:
(1)在瀏覽器中輸入:www.rhce.cc ,發現可以正常訪問。
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(2)在瀏覽器中輸入:http://system1.rhce.cc ,發現可以正常訪問。
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(3)在瀏覽器中輸入:https://system1.rhce.cc ,發現可以正常訪問,說明虛擬主機配置成功。
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰


【第三十三題】配置web內容的訪問,在您的system1上的web服務器的DocumentRoot目錄下創建一個名爲secret的目錄,要求如下:(a)從http://rhgls.rhce.cc/materials/private.html 下載一個副本到這個目錄,並且重命名爲index.html。(b)不要對這個文件的內容做任何修改。(c)從system1上,任何人都可以瀏覽secret的內容,但是從其它系統不能訪問這個目錄的內容。
操作步驟:
(1)由於需要在system1上的web服務器創建secret目錄,所以創建:# mkdir /var/www/html/secret /var/www/virtual/secret
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(2)將副本下載到這個html目錄:# wget -O /var/www/html/secret/index.html http://rhgls.rhce.cc/materials/private.html
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(3)將副本下載到這個virtual目錄:# wget -O /var/www/virtual/secret/index.html http://rhgls.rhce.cc/materials/private.html
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(4)由於secret目錄只允許本機的用戶可以訪問,所以在配置文件中:# vim /etc/httpd/conf/httpd.conf中找到如下模板信息:
<Directory "/var/www">
AllowOverride None
# Allow open access:
Require all granted
</Directory>
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(5)接着根據模板信息編輯vhost配置文件:# vim /etc/httpd/conf.d/vhost.conf
<Directory "/var/www/html/secret">
AllowOverride None
Require local
</Directory>
<Directory "/var/www/virtual/secret">
AllowOverride None
Require local
</Directory>
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(6)最後重啓服務:# systemctl restart httpd
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
驗證:
(1)在system1機器上操作:# curl -s www.rhce.cc/secret/index.html ,發現可以正常訪問。
(2)在system1機器上操作:# curl -s system1.rhce.cc/secret/index.html ,發現可以正常訪問。
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(3)在system2機器上操作:# curl -s www.rhce.cc/secret/index.html ,發現無法正常訪問。
(4)在system2機器上操作:# curl -s system1.rhce.cc/secret/index.html ,發現無法正常訪問。
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰


【第三十四題】實現動態Web內容,在system1上配置提供動態Web內容,要求如下:(a)動態內容有名爲dynamic.rhce.cc的虛擬主機提供,虛擬主機偵聽在端口8998;(b)從http://rhgls.rhce.cc/materials/webapp.wsgi 下載一個腳本,然後放在適當的位置,無論如何不要求修改此文件的內容;(c)客戶端訪問http://dynamic.rhce.cc:8998/ 時,應該接收到動態生成的web頁面;(d)此http://dynamic.rhce.cc:8998/ 必須能被rhce.cc域內的所有系統訪問。
操作步驟:
(1)首先確認動態主機的IP:# ping dynamic.rhce.cc,發現IP地址爲:192.168.122.100
(2)編輯system1機器上的配置文件:# vim /etc/hosts,並添加如下的一行信息:
192.168.122.100 dynamic.rhce.cc dynamic
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(3)由於虛擬主機偵聽在端口8998,所以需要設置防火牆的富規則:# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.122.0/24" port protocol="tcp" port="8998" accept'
(4)並將防火牆規則寫入持久態:# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.122.0/24" port protocol="tcp" port="8998" accept' --permanent
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(5)接下來還要在配置文件中開放端口8998:# vim /etc/httpd/conf/httpd.conf,添加如下一行信息:
Listen 8998
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(6)接着進入vhost配置文件:# vim /etc/httpd/conf.d/vhost.conf
<VirtualHost dynamic.rhce.cc:8998>
DocumentRoot /var/www/html/yy
ServerName dynamic.rhce.cc
WSGIScriptAlias / /var/www/html/yy/webapp.wsgi
</VirtualHost>
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(7)創建第六步在配置文件中定義的目錄:# mkdir /var/www/html/yy
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(8)由於需要實現動態web,所以安裝對應的軟件包:# yum inStall mod_wsgi -y
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(9)將下載的腳本放到第七步創建的目錄下:# wget -P /var/www/html/yy http://rhgls.rhce.cc/materials/webapp.wsgi
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(10)由於在第六步中配置了端口,所以需要修改端口的上下文,首先需要找到模板:# vim /etc/ssh/sshd_config,找到如下一行:
semanage port -a -t ssh_port_t -p tcp #PORTNUMBER
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(11)確認需要安裝semanage軟件包的名稱:# yum whatprovides */semanage
(12)並將軟件包安裝起來:# yum inStall policycoreutils-python-2.2.5-11.el7.x86_64 -y
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(13)然後執行修改上下文的命令:# semanage port -a -t http_port_t -p tcp 8998
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(14)重啓Apache服務器:# systemctl restart httpd
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
驗證:
(1)在瀏覽器輸入:http://system1.rhce.cc ,發現正常訪問。
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(2)在瀏覽器輸入:https://system1.rhce.cc ,發現正常訪問。
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(3)在瀏覽器輸入:www.rhce.cc ,發現正常訪問。
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(4)在瀏覽器輸入:dynamic.rhce.cc:8998,發現正常訪問。
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰


【第三十五題】創建一個腳本,在system1上創建一個名爲/root/script的腳本,讓其提供下列特性:(a)當運行/root/script foo,輸出爲bar;(b)當運行/root/script bar,輸出爲foo;(c)當沒有任何參數或者參數不是foo或者bar時,其錯誤輸出產生以下的信息:/root/script foo|bar
操作步驟:
(1)首先在system1機器上創建一個腳本:# vim script
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(2)然後添加如下腳本信息:
#! /bin/bash
case $1 in
foo)
echo bar
;;
bar)
echo foo
;;
*)
echo '/root/script foo|bar'
;;
esac
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(3)然後給腳本加上可執行權限:# chmod +x /root/script
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
驗證:
(1)執行:# ./script afa,得到了結果:/root/script foo|bar
(2)執行:# ./script foo,得到了結果:bar
(3)執行:# ./script bar,得到了結果:foo
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰


【第三十六題】創建一個添加用戶的腳本,在system1上創建一個腳本,名爲/root/mkusers,此腳本能實現爲系統system1創建本地用戶,並且這些用戶的用戶名來自一個包含用戶名列表的文件。同時滿足下列要求:(a)此腳本要求提供一個參數,此參數就是包含用戶名列表的文件;(b)如果沒有提供參數,此腳本應該給出下面的提示信息Usage:/root/mkusers然後退出並返回相應的值;(c)如果提供一個不存在的文件名,此腳本應該給出下面的提示信息Input file not found然後退出並返回相應的值;(d)創建的用戶登錄shell爲/bin/false;(e)此腳本不需要爲用戶設置密碼;(f)您可以從下面的URL獲取用戶名列表作爲測試用:http://rhgls.rhce.cc/materials/userlist
操作步驟:
(1)首先在system1機器上創建一個腳本:# vim /root/mkusers
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(2)然後添加如下腳本信息:
#! /bin/bash
if [ $# -eq 0 ];then
echo "Usage:/root/mkusers"
exit 1
fi
if[ ! -f $1 ];then
echo "Input file not found"
exit 1
fi
while read aa
do
useradd -s /bin/false $aa
done < $1
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(3)下載用戶列表文件:# wget http://rhgls.rhce.cc/materials/userlist
(4)chmod +x /root/mkusers
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
驗證:
(1)執行:# ./mkusers,得到了結果:Usage:/root/mkusers
(2)執行:# ./mkusers afafaf,得到了結果:Input file not found
(3)執行:# ./mkusers userlist,正常執行了腳本,並且驗證發現新用戶已經創建:# id lisi
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰


【第三十七題】配置iSCSI服務端,配置system1提供一個iSCSI服務,磁盤名爲iqn.2014-09.com.example.domain11:system1,並符合下列要求:(a)服務端口爲3260;(b)使用iscsi_vol作其後端卷,大小爲3G;(c)此服務只能被system2.rhce.cc訪問。
操作步驟:
(1)首先應該在system1機器上將服務的軟件包安裝起來:# yum inStall target* -y
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(2)接着啓動服務:# systemctl start target
(3)並將服務加入開機啓動項:# systemctl enable target
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(4)由於使用的後端卷大小爲3G,所以創建:# fdisk /dev/vda,然後輸入:
p --------(打印當前的分區情況)
n --------(創建一個新的分區)
p --------(創建一個主分區)
+3G ----(創建一個3G大小的主分區)
w --------(保存退出)
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(5)最後還需要將system1修改的配置同步更新一下:# partprobe /dev/vda
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(6)進入配置iSCSI服務的界面:# targetcli,然後輸入:
/> ls / -----------------------------------------------------------------------------(列出所有的卷信息)
/> /backstores/block create iscsi_vol /dev/vda4 -----------------------(將磁盤中創建的第四個分區設置爲iscsi_vol)
/> /iscsi create iqn.2014-09.com.example.domain11:system1 ----(在iscsi目錄下設置卷的磁盤名信息)
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
/> cd /iscsi/iqn.2014-09.com.example.domain11:system1/tpg1 ---(進入到配置的目錄中)
/> acls/ create iqn.2014-09.com.example.domain11:xx -------------(設置acls訪問控制列表的名稱)
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
/> luns/ create /backstores/block/iscsi_vol ----------------------------- (創建邏輯單元號)
/> portals/ create 0.0.0.0 3260 ---------------------------------------------(設置iSCSI的服務端口爲3260)
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
/> exit ---------------------------------------------------------------------------- (退出設置)
(7)由於要求只能被system2訪問,所以設置防火牆端口的富規則:# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.122.200/24" port protocol="tcp" port="3260" accept'
(8)並將防火牆的設置寫入持久態:# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.122.200/24" port protocol="tcp" port="3260" accept' --permanent,此時iSCSI服務端便配置好了。
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰


【第三十八題】配置iSCSI的客戶端,配置system2使其能連接在system1的上提供的iqn.2014-09.com.example.domain11:system1並符合以下要求:(a)iSCSI設備在系統啓動的期間自動加載;(b)塊設備iSCSI上包含一個大小爲1700MiB的分區,並格式化爲xfs;(c)此分區掛載在/mnt/data上,同時在系統啓動的期間自動掛載。
操作步驟:
(1)由於需要配置iSCSI客戶端,所以在system2機器上安裝客戶端的軟件包:# yum inStall iscsi* -y
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(2)然後編輯:# vim /etc/iscsi/initiatorname.iscsi,並添加如下的一行信息:
InitiatorName=iqn.2014-09.com.example.domain11:xx
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(3)接着啓動客戶端的服務:# systemctl start iscsid
(4)並且加入開機啓動項:# systemctl enable iscsid
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(5)在系統啓動的期間自動發現iSCSI存儲:# iscsiadm -m discovery -t st -p system1.rhce.cc -l
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(6)由於需要在iSCSI上包含一個1700M的分區:# fdisk /dev/sda,輸入如下的信息:
n -------------(新建一個分區)
p -------------(選擇創建一個主分區)
+1700M ----(分區創建大小爲1700M)
w -------------(保存退出)
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(7)最後需要在system2機器上將配置同步更新一下:# partprobe /dev/sda
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(8)將創建的分區格式化爲xfs文件系統:# mkfs.xfs /dev/sda1
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(9)在system2機器上創建掛載的目錄:# mkdir /mnt/data
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(10)編輯分區掛載的配置文件:# vim /etc/fstab,並添加如下一行信息:
/dev/sda1 /mnt/data xfs defaults,_netdev 0 0
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
驗證:
(1)在system2機器上重新掛載所有的分區:# mount -a
(2)查看分區掛載的情況:# df -hT
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰


【第三十九題】配置一個數據庫,在system1上創建一個MariaDB數據庫,名爲Contacts,並符合以下條件:(a)數據庫應該包含來自數據庫複製的內容,複製文件的URL爲http://rhgls.rhce.cc/materials/users.mdb 。(b)數據庫只能被localhost訪問。(c)除了root用戶,此數據庫只能被用戶Luigi查詢。此用戶密碼爲redhat。(d)root用戶的密碼爲redhat,同時不允許空密碼登錄。
操作步驟:
(1)首先在system1機器上安裝MariaDB數據庫:# yum inStall mariadb-server mariadb -y
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(2)接着啓動服務:# systemctl start mariadb
(3)將服務加入開機啓動項中:# systemctl enable mariadb
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(4)然後進入數據庫:# mysql,然後輸入如下SQL語句:
\> show databases; -----------------(顯示當前所有的數據庫)
\> create database Contacts; ----(創建一個數據庫,命名爲Contacts)
\> quit ----------------------------------(由於接下來需要下載文件,所以退出當前的數據庫)
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(5)因爲數據庫包含來自數據庫複製的內容,所以把文件下載下來:# wget http://rhgls.rhce.cc/materials/users.mdb
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(6)接着再次進入數據庫:# mysql,然後輸入如下的SQL語句:
\> use Contacts; ---------------------------------------------------------------------------(進入到第四步創建的Contacts數據庫中)
\> source /root/users.mdb; --------------------------------------------------------------(將下載的文件生效到數據庫中)
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
\> show tables; -----------------------------------------------------------------------------(顯示當前數據庫中所有的數據表文件)
\> grant select on Contacts.* to Luigi@'localhost' identified by 'redhat'; ----(設置數據庫只能被localhost訪問,數據庫只能被Luigi查詢,且設置好密碼)
\> set password=password('redhat'); -------------------------------------------------(設置root用戶的登錄密碼爲redhat)
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
驗證:此時在system1機器上操作:# mysql -uroot -predhat,纔可以正常登錄系統,說明配置生效。
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰


【第四十題】數據庫查詢,在系統system1上使用數據庫Contacts,並使用相應的SQL查詢以回答下列問題:(a)密碼是tangerine的人的名字?(b)有多少人的姓名是John同時居住在Santa Clara?
操作步驟:
(1)首先在system1機器上登錄數據庫:# mysql -uroot -predhat
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
(2)進入mariadb數據庫後輸入如下:
\> use Contacts; ----(進入到Contacts數據庫)
\> show tables; -----(顯示數據庫中所有的數據表)
\> desc loc; ----------(查看loc數據表的表結構)
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
\> desc name; -------(查看name數據表的表結構)
\> desc pass; --------(查看pass數據表的表結構)
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
\> select * from name join pass where name.aid=pass.bid and pass.password='tangerine';
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰
\> select count(*) from name join loc where name.aid=loc.cid and name.firstname='John' and loc.loction='Santa Clara';
【我的Linux,我做主!】碉堡了!大神帶你飛--Linux運維實戰

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章