yum-config-manager --add-repo=ADDREPO vim /etc/yum.conf gpgcheck=0(1=on,0=off)
增長指定repo源,關閉簽名合法性檢查。html
試題概述:
確保兩個虛擬機的 SELinux 處於強制啓用模式。node
vim /etc/selinux/config SELINUX=enforcing setenforce 1 (usage: setenforce [ Enforcing | Permissive | 1 | 0 ])
試題概述:
按如下要求配置 SSH 訪問:mysql
- 用戶可以從域內example.com的客戶端SSH遠程訪問您的兩個虛擬機系統;
- 在域my133t.org內的客戶端不能訪問您的兩個虛擬機系統。
vim /etc/ssh/sshd_config DenyUsers *@*.my133t.org *@172.25.0.*
也可使用防火牆規則進行限制,後面會提到。linux
試題概述:
在系統system1 和 system2上建立自定義命令爲 qstat,此自定義命令將執行如下命令: /bin/ps -Ao pid,tt,user,fname,rsz;
此命令對系統中全部用戶有效。web
vim /etc/profile qstat='/bin/ps -Ao pid,tt,user,fname,rsz' source /etc/profile
試題概述:
在系統 system1 配置端口轉發,要求以下:sql
- 在 172.25.0.0/24 網絡中的客戶機,訪問 server0 的本地端口 5423 將被轉發到 80
- 此設置必須永久有效。
firewall-cmd --set-default-zone=trusted (將默認區域設置爲默認模式) firewall-cmd --permanent --add-source=172.25.0.0/24 --zone=block (防火牆拒絕my133t.org訪問) firewall-cmd --add-rich-rule='rule family=ipv4 source address=172.24.0.0/24 forward-port port=5423 protocol=tcp to-port=80' firewall-cmd --add-rich-rule='rule family=ipv4 source address=172.24.0.0/24 forward-port port=5423 protocol=udp to-port=80'
試題概述:
在system1.example.com 和 system2.example.com 之間配置一個鏈路 team0: 此鏈路使用接口 eth1和eth2:數據庫
- 此鏈路在一個接口失效時仍然能工做;
- 此鏈路在system1使用下面的地址172.24.4.30/255.255.255.0;
- 此鏈路在system2使用下面的地址172.24.4.40/255.255.255.0;
- 此鏈路在系統重啓以後依然保持正常狀態。
nmcli connection add type team con-name team0 ifname team0 connection.autoconnect yes config '{"runner":{"name":"activebackup"}}' nmcli connection add type team-slave con-name eth1 ifname eth1 connection.autoconnect yes master team0 nmcli connection add type team-slave con-name eth2 ifname eth2 connection.autoconnect yes master team0 nmcli connection modify team0 ipv4.method manual ipv4.address "172.24.4.30/24" connection.autoconnect yes nmcli connection up team0 teamdctl team0 state
接口啓動後測試本機到新增IP是否能夠正常通訊,若是不通能夠重啓網絡服務後再次測試systemctl restart network
。vim
試題概述:
在您的考試系統上配置接口 eth0 使用下列 IPv6 地址:後端
- system1上的地址應該是 2003:ac18::305/64:
- system2上的地址應該是 2003:ac18::306/64;
- 兩個系統必須能與網絡 2003:ac18/64 內的系統通訊 ;
- 地址必須在重啓後依舊生效;
- 兩個系統必須保持當前的 IPv4 地址並能通訊。
nmcli connection modify eth0 ipv6.method manual ipv6.address "2003:ac18::305/64" nmcli connection up eth0
若是不能ping通同上所述。安全
試題概述:
在系統system1上配置郵件服務,知足如下要求:
- 這些系統不接收外部發送來的郵件;
- 在這些系統上本地發送的任何郵件都會自動路由到smtp0.example.com;
- 從這些系統上發送的郵件顯示來自於system1.example.com;
您能夠經過在system1上發送郵件到本地用戶 student 來測試您的配置,系統system2.example.com 上的用戶 student 將會收到這封郵件。
:配置文件修改 vim /etc/postfix/main.cf relayhost = smtp0.example.com //自動路由配置 inet_interfaces = loopback-only //監聽在迴環網卡 myorigin = system1.example.com //郵件顯示 mynetworks = 127.0.0.0/8 [::1]/28 local_transport = error:local :啓動服務 systemctl restart postfix systemctl enalbe postfix :測試 echo 'test' | mail -s 'Test1' student
若是防火牆默認域非trusted須要開啓smtp服務訪問權限。
試題概述:
在system1上經過 SMB 共享/common 目錄:
- 您的 SMB 服務器必須是 STAFF 工做組的一個成員;
- 共享名必須爲 common;
- 只有 example.com 域內的客戶端能夠訪問 common 共享;
- common 必須是能夠瀏覽的;
- 用戶 harry 必須可以讀取共享中的內容,若是須要的話,驗證的密碼是 migwhisk。
:安裝及基本設置 yum -y install samba mkdir /common setsebool -P samba_export_all_rw=on smbpasswd -a harry :修改配置文件 vim /etc/samba/smb.conf [global] workgroup = STAFF [common] path = /common hosts allow = 172.24.0.0/24 browseable = yes :重啓並設置開機自啓 systemctl restart smb nmb systemctl enable smb nmb
試題概述:
在system1經過 SMB 共享目錄/devops,並知足如下要求:
- 共享名爲 devops;
- 共享目錄 devops 只能被 example.com 域中的客戶端使用;
- 共享目錄 devops 必須能夠被瀏覽;
- 用戶 kenji 必須能以讀的方式訪問此共享,該問密碼是 atenorth;
- 用戶 chihiro 必須能以讀寫的方式訪問此共享,訪問密碼是 atenorth;
- 此共享永久掛載在 system2.example.com 上的/mnt/dev 目錄,並使用用戶 kenji 做爲認證,任何用戶能夠經過用戶 chihiro 來臨時獲取寫的權限。
:基本準備 mkdir /devops smbpasswd -a kenji smbpasswd -a chihiro setfacl -m u:chihiro:rwx /devops :修改配置文件 vim /etc/samba/smb.conf [devops] path = /devops hosts allow = 172.24.0.0/24 write list = chihiro :重啓服務 systemctl restart smb nmb :system2操做 :準備基本環境 yum -y install samba-client cifs-utils smbclient -L system1.example.com -U chihiro mkdir /mnt/dev :修改配置文件 vim /etc/fstab //system1.example.com/devops /mnt/dev cifs defaults,multiuser,username=kenji,password=atenorth,sec=ntlmssp,_netdev 0 0 :掛載配置 mount -a :驗證臨時權限 su - other cifscreds add -u chihiro system1.example.com touch /mnt/dev/1.txt
試題概述:
在system1配置 NFS 服務,要求以下:
- 以只讀的方式共享目錄/public,同時只能被 example.com 域中的系統訪問;
- 以讀寫的方式共享目錄/protected,能被 example.com 域中的系統訪問;
- 訪問/protected 須要經過 Kerberos 安全加密,您可使用下面 URL 提供的密鑰:http://classroom.example.com/pub/keytabs/system1.keytab;
- 目錄/protected 應該包含名爲 project 擁有人爲 ldapuser0 的子目錄;
- 用戶 ldapuser0 能以讀寫方式訪問/protected/project。
:環境準備 mkdir -p /public /protected/project chown ldapuser0 /protected/project wget -O /etc/krb5.keytab http://classroom/pub/keytabs/system1.keytab :修改配置 vim /etc/exports /public 172.24.4.0/24(ro) /protected 172.24.4.0/24(rw,sec=krb5p) :啓動服務並設置爲開機自啓 systemctl start nfs-secure-server nfs-server systemctl enable nfs-secure-server nfs-server
試題概述:
在system2上掛載一個來自 system1.exmaple.com 的共享,並符合下列要求:
- /public 掛載在下面的目錄上/mnt/nfsmount;
- /protected掛載在下面的目錄上/mnt/nfssecure 並使用安全的方式,密鑰下載 URL:http://classroom.example.com/pub/keytabs/system2.keytab;
- 用戶 ldapuser0 可以在/mnt/nfssecure/project 上建立文件;
- 這些文件系統在系統啓動時自動掛載。
:環境準備 mkdir -p /mnt/nfsmount /mnt/nfssecure wget -O /etc/krb5.keytab http://classroom/pub/keytabs/system1.keytab systemctl start nfs-secure systemctl enable nfs-secure showmount -e system1.example.com :修改配置文件 vim /etc/fstab system1.example.com:/public /mnt/nfsmount nfs _netdev 0 0 system1.example.com:/protected /mnt/nfssecure nfs sec=krb5p,_netdev 0 0 :掛載 mount -a
試題概述:
爲 http://system1.example.com 配置 Web 服務器:
- 從 http://classroom.example.com/pub/materials/station.html 下載一個主頁文件,並將該文件重命名爲 index.html;
- 將文件 index.html 拷貝到您的 web 服務器的 DocumentRoot 目錄下;
- 不要對文件 index.html 的內容進行任何修改;
- 來自於 example.com 域的客戶端能夠訪問此 Web 服務;
- 來自於 my133t.org 域的客戶端拒絕訪問此 Web 服務。
:安裝Apache服務 yum -y install httpd :修改配置文件 vim /etc/httpd/conf.d/rhce.conf <VirtualHost *:80> ServerName system1.example.com DocumentRoot /var/www/html </VirtualHost> :下載網頁文件 wget -O /var/www/html/index.html http://classroom.example.com/pub/materials/station.html :重啓Apache服務並設置爲開機自啓 systemctl restart httpd systemctl enable httpd
試題概述:
爲站點 http://server0.example.com 配置 TLS 加密:
- 已簽名證書從http://classroom.example.com/pub/tls/certs/system1.crt 獲取 ;
- 證書的密鑰從http://classroom.example.com/pub/tls/private/system1.key獲取;
- 證書的簽名受權信息從http://classroom.example.com/pub/example-ca.crt獲取。
:安裝所需認證模塊 yum -y install mod_ssl :下載所需文件 cd /etc/pki/tls/certs/ wget http://classroom.example.com/pub/example-ca.crt http://classroom.example.com/pub/tls/certs/system1.crt cd etc/pki/tls/private/ wget http://classroom.example.com/pub/tls/private/system1.key :修改配置文件 vim /etc/httpd/conf.d/ssl.conf <VirtualHost _default_:443> DocumentRoot /var/www/html ServerName system1.example.com:443 SSLCertificateFile /etc/pki/tls/certs/system1.crt SSLCertificateKeyFile /etc/pki/tls/private/system1.key SSLCACertificateFile /etc/pki/tls/certs/example-ca.crt </VirtualHost> :重啓Apache服務 systemclt restart httpd
試題概述:
在system1上擴展您的 web 服務器,爲站點 http://www0.example.com建立一個虛擬主機,而後執行下述步驟:
- 設置 DocumentRoot 爲/var/www/virtual;
- 從 http://classroom.example.com/pub/materials/www.html 下載文件並重命名爲index.html;
- 不要對文件 index.html 的內容作任何修改;
- 將文件 index.html 放到虛擬主機的 DocumentRoot 目錄下;
- 確保 student 用戶可以在/var/www/virtual 目錄下建立文件;
:環境準備 mkdir /var/www/virtual setfacl -m u:student:rwx /var/www/virtual wget -O /var/www/virtual/index.html http://classroom.example.com/pub/materials/www.html :修改配置文件 vim /etc/httpd/conf.d/rhce.conf <VirtualHost *:80> ServerName www0.example.com DocumentRoot /var/www/virtual </VirtualHost> :重啓Apache服務 systemctl restart httpd
試題概述:
在您的system1上的 web 服務器的 DocumentRoot 目錄下建立一個名爲private 的目錄,要求以下:
- 從 http://classroom.example.com/pub/materails/private.html 下載一個文件副本到這個目錄,而且得命名爲 index.html;
- 不要對這個文件的內容作任何修改;
- 從 server0 上,任何人均可以瀏覽 private 的內容,可是從其餘系統不能訪問這個目錄的內容。
:環境準備 mkdir /var/www/html/private wget -O /var/www/html/private/index.html http://classroom.example.com/pub/materails/private.html :修改配置 vim /etc/httpd/conf.d/rhce.conf <Directory /var/www/html/private> Require ip 127.0.0.1 </Directory>
試題概述:
在system1上配置提供動態 Web 內容,要求以下:
- 動態內容由名爲 webapp0.example.com 的虛擬主機提供
- 虛擬主機偵聽在端口 8909
- 從 http://classroom.example.com/pub/materials/webinfo.wsgi 下載一個腳本,而後放在適當的位置,不管如何不要修改此文件的內容
- 客戶端訪問 http://webapp0.example.com:8909 可接收到動態生成的 Web 頁
- 此 http://webapp0.example.com:8909 必須能被 example.com 域內的全部系統訪問
:安裝所需模塊 yum -y install mod_wsgi :準備環境 cd /var/www/html wget http://classroom.example.com/pub/materials/webinfo.wsgi semanage port -a -t http_port_t -p tcp 8909 :修改配置 vim /etc/httpd/conf.d/rhce.conf Listen 8909 <VirtualHost *:8909> ServerName webapp0.example.com:8909 DocumentRoot /var/www/html WSGIScriptAlias / /var/www/html/webinfo.wsgi </VirtualHost> :重啓Apache服務 systemctl restart httpd
試題概述:
在 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 +x /root/foo.sh
試題概述:
在 system1上建立一個腳本,名爲/root/batchusers,此腳本能實現爲系統system1建立本地用戶,而且這些用戶的用戶名來自一個包含用戶名的文件,同時知足下列要求:
- 此腳本要求提供一個參數,此參數就是包含用戶名列表的文件;
- 若是沒有提供參數,此腳本應該給出下面的提示信息 Usage: /root/batchusers
而後退出並返回相應的值; - 若是提供一個不存在的文件名,此腳本應該給出下面的提示信息 Input file not found 而後退出並返回相應的值;
- 建立的用戶登錄 Shell 爲/bin/false,此腳本不須要爲用戶設置密碼;
- 您能夠從下面的 URL 獲取用戶名列表做爲測試用:http://classroom.example.com/pub/materials/userlist。
vim /root/batchusers #!/bin/bash if [ $# -eq 0 ] ; then echo "Usage: /root/batchusers <userfile>" exit 1 fi if [ ! -f $1 ] ; then echo "Input file not found" exit 2 fi for name in $(cat $1) do useradd -s /bin/false $name done chmod +x /root/batchusers
試題概述:
配置 server0 提供 iSCSI服務,磁盤名爲 iqn.2016-02.com.example:system1,並符合下列要求:
- 服務端口爲 3260;
- 使用iscsi_store做其後端卷,其大小爲 3GiB 訪問;
- 此服務只能被system2.example.com訪問。
:準備磁盤空間 fdisk /dev/vda Command (m for help): n Partition number (1-128, default 1): First sector (34-20971486, default 2048): Last sector, +sectors or +size{K,M,G,T,P} (2048-20971486, default 20971486): +3G Command (m for help): w partprobe /dev/vda :安裝並配置iSCSI yum -y install targetcli targetcli /> backstores/block create block1 /dev/vda1 /> /iscsi create iqn.2016-02.com.example:system1 /> /iscsi/iqn.2016-02.com.example:system1/tpg1/acls create iqn.2016-02.com.example:system2 /> /iscsi/iqn.2016-02.com.example:system1/tpg1/luns create /backstores/block/block1 /> /iscsi/iqn.2016-02.com.example:system1/tpg1/portals create 172.24.4.30 3260 /> saveconfig /> exit :重啓並設置開機自啓 systemctl restart target systemctl enable target
試題概述:
配置system2使其能鏈接 system1上提供的 iqn.2016-02.com.example:system1,並符合如下要求:
- iSCSI 設備在系統啓動的期間自動加載;
- 塊設備 iSCSI 上包含一個大小爲 2100MiB 的分區,並格式化爲 ext4 文件系統 此分區掛載在/mnt/data 上,同時在系統啓動的期間自動掛載。
:安裝iSCSI客戶端 yum -y install iscsi-initiator-utils :修改iSCSI本機iqn名稱 vim /etc/iscsi/initiatorname.iscsi InitiatorName=iqn.2016-02.com.example:system2 :重啓服務 systemctl restart iscsid systemctl enalbe iscsid :查找、鏈接磁盤 iscsiadm -m discovery -t st -p system1 iscsiadm -m node -L all :分區設置 lsblk (查看新磁盤) fdisk /dev/sda Command (m for help): n Partition number (1-128, default 1): First sector (34-20971486, default 2048): Last sector, +sectors or +size{K,M,G,T,P} (2048-20971486, default 20971486): +2100M Command (m for help): w partprobe /dev/sda mkfs.ext4 /dev/sda1 :掛載設置 mkdir /mnt/data vim /etc/fstab /dev/sda1 /mnt/data ext4 defaults,_netdev 0 0 mount - a
試題概述:
在system1上建立一個 MariaDB 數據庫,名爲 Contacts,並符合如下條件: 數據庫應該包含來自數據庫複製的內容,複製文件的 URL 爲:http://classroom.example.com/pub/materials/users.sql:
- 數據庫只能被 localhost 訪問;
- 除了 root 用戶,此數據庫只能被用戶 Raikon 查詢,此用戶密碼爲 atenorth root 用戶的密碼爲 atenorth,同時不容許空密碼登錄。
:安裝、配置、啓動MariaDB yum -y install mariadb mariadb-server vim /etc/my.cnf [mysqld] skip-networking systemctl restart mariadb systemctl enable mariadb :數據庫基本操做 wget http://classroom.example.com/pub/materials/users.sql mysqladmin -u root password 'atenorth' mysql -u root -patenorth CREATE DATABASE Contacts; USE Contacts; SOURCE /root/users.sql GRANT select ON Contacts.* to Raikon@localhost IDENTIFIED BY 'atenorth'; DELETE FROM mysql.user WHERE Password='';
試題概述:
在系統 system1上使用數據庫 Contacts,並使用相應的 SQL 查詢以回答下列問題:
- 密碼是 solicitous 的人的名字?
- 有多少人的姓名是 Barbara 同時居住在 Sunnyvale?
SELECT name FROM base WHERE password='solicitous'; SELECT count(*) FROM base,location WHERE base.name='Barbara' AND location.city='Sunnyvale' AND base.id=location.id ;