一、RHCSA題目詳解
0.破解虛擬機root用戶密碼,啟動時停留在引導界面
0.1進入如下菜單時按e進入編輯模式
0.2光標向下移動,在linux16一行的末尾追加rd.break,打斷系統正常進入程序
0.3然后按ctrl+x啟動,最終會停留在修復模式
輸入指令mount,查看當前sysroot(根目錄)的掛載,發現是ro只讀的,為了讓一會我們執行的修改密碼指令能夠錄入系統,我們需要把此sysroot掛載改為rw
mout -o remount,rw /sysroot/
輸入指令chroot /sysroot,修改根目錄位置,進入sh指令集功能。
輸入passwd修改密碼,退回修復模式,reboot重啟系統,修改root密碼操作完畢
passwd root
xxx
sh-4.2# touch /.autorelabel
sh-4.2# sync
exit
switch_root:/# reboot
1. IP地址配置(主機名和IP地址參數以考題為准,)
主機名:system.group3.example.com
IP: 172.25.3.10/255.255.255.0
網關: 172.25.3.254
DNS: 172.25.3.250
使用nmtui圖形方式配置IP,DNS
然后選擇Edit a connection
然后Edit編輯eth0接口
光標移動到右下角,選ok,
Quit退出編輯
在bash中輸入指令重啟網絡服務 采用ifconfig命令可以查看ip是否已經修改成功
然后設置主機名 #nmtui
2. 配置SElinux開機默認為Enforcing模式
vim /etc/sysconfig/selinux SELINEX=enforcing setenforce 1 驗證:getenforce -> Enforcing
3. 為您的系統配置一個默認的軟件倉庫,軟件倉庫的地址以考試實際數據為主。
vim /etc/yum.repos.d/rhel.repo
004:調整邏輯卷容量
請按以下要求調整本地邏輯卷lvm1 的容量:
調整后的邏輯卷及文件系統大小為770MB
調整后確保文件中已經存在的內容不能被破壞
調整后的容量可能出現誤差,只要在730M~805M 之間都是允許的
調整后,保證其掛載目錄不改變,文件系統完成
解題:
[root@server ~]# df -Th 查看題目指定的邏輯卷lvm1 的現有容量
[root@server ~]# fdisk /dev/sdb 建立新分區
[root@server ~]# pvcreate /dev/sdb2 添加到lvm1
[root@server ~]# vgextend vg1 /dev/sdb2
[root@server ~]# lvextend -L 770M /dev/vg1/lvm1
[root@server ~]#
[root@server ~]# xfs_growfs /dev/vg1/lvm1 # 針對xfs 文件系統
[root@server ~]# resize2fs /dev/vg1/lvm1 # 針對ext4 文件系統
[root@server ~]# df -Th
5. 添加3個用戶,用戶harry,natasha,tom,要求harry,natasha用戶的附加組為admin組,tom用戶的登陸shell為非交互式shell,3個賬號密碼均為redhat
6. 在/home 下創建一個目錄,名為 admins,要求所屬組為 admin 組,組成員可以讀寫, 其它用戶沒有任何權限,同組成員在目錄下創建的文件的所屬組也為 admin 組
備注:大家記住如果一個用戶對目錄有讀寫權限,一定也要設置執行權限,對目錄來說,如果一個用戶對目錄沒有執行權限,那么這個人就不能 cd 進該目錄了 mkdir -p /home/admins chgrp admin /home/admins chmod 770 /home/admins chmod g+s /home/admins 檢查 ls -ld /home/admins
7. 拷貝文件/etc/fstab 到/var/tmp/fstab,配置文件/var/tmp/fstab 的權限
1) 文件/var/tmp/fstab 的擁有者是 root 用戶
2) 文件/var/tmp/fstab 屬於 root 組
3) 文件/var/tmp/fstab 對任何人都不可執行
4) 用戶 natasha 能夠對文件/var/tmp/fstab 具有讀和寫的權限
5) 用戶 harry 對文件/var/tmp/fstab 既不能讀,也不能寫
6) 所有其他用戶(當前的和將來的)能夠對文件/var/tmp/fstab 進行讀操作。
cp /etc/fstab /var/tmp/ chown root:root /var/tmp/fstab chmod rgo-x /var/tmp/fstab setfacl -m u:natasha:rw /var/tmp/fstab setfacl -m u:harry:--- /var/tmp/fstab chmod o+r /var/tmp/fstab
8. 配置 harry 任務計划每天的 14:23 分,執行 echo hello 命令
[root@mail ~]# crontab -e -u harry 34 23 * * * /bin/echo hello 然后保存退出 可以用下面的方法驗證 crontab -l -u harry 34 23 * * * /bin/echo hello
9. 配置一個共享目錄 nfs 服務器,將/common 目錄共享給 group3.example.com 域, 要求/common 可以讀寫。
mkdir -p /common vim /etc/exports /common 172.25.3.0/255.255.255.0(rw,sync) systemctl enable nfs-server-service systemctl restart nfs-server-service
10. 升級內核為 2.6.32-71.7.1 ,內核軟件包在ftp://172.25.3.254/pub/rhel6/Errata/rhel-x86_64-server-6/kernel-2.6.3
2-71.7.1.el6.x86_64.rpm,並保留舊的內核通過 wget 或者 Firefox 瀏覽器下載 rpm 安裝包,雙擊或通過 rpm 命令執行安裝即可。重啟
后內核自動更新為最新的,並保留以往的內核。
11. 配置你的主機賬號和密碼驗證方式為 LDAP 方式
Basedn:dc=example ,dc=com
Ldapserver: instructor.example.com
通過 ldapuser15可以登錄成功,ldapuser15密碼為:password。證書可以從以下目錄下載:http://instructor.example.com/pub/ EXAMPLE-CA-CERT,用戶登錄后是沒有宿主目錄
的,除非你配置了后續題目中的 autofs
然后點擊下載 CA 證書
然后點確定
如上圖然后點應用
然后用下面命令測試
(也可以使用 id ldapuser15檢查是否學習到用戶信息)
因為沒有做 autofs,所以是沒有加目錄的。
12. 配置 autofs,實現 ldapuser15登錄成功后,有家目錄/home/guests/ldapuser15。家目錄
在 instructor.example.com 上被 nfs 共享為:/home/guests/ldapuser15。(額外要求,其
它的 ldap 用戶登錄成功后也能正常使用宿主目錄,這條要看考試里問不問)
13. 配置 NTP
方法一:
填寫完點擊確定
方法二
[root@server ~]# Yum -y install chrony [root@server ~]# Vim /etc/chrony.conf Server classroom.example.com iburst # add server [root@server ~]# System restart chronyd [root@server ~]# System enable chronyd [root@server ~]# chronyc sources [root@server ~]# chronyc waitsync [root@server ~]# [root@server ~]# timedatectl Local time: Sun 2015-07-19 10:30:59 CST Universal time: Sun 2015-07-19 02:30:59 UTC RTC time: Sun 2015-07-19 02:30:59 Timezone: Asia/Shanghai (CST, +0800) NTP enabled: yes NTP synchronized: yes RTC in local TZ: no DST active: n/a [root@server ~]# timedatectl --help [root@server ~]# timedatectl set-ntp true
14. 創建一個用戶 alex,用戶 ID 為 1234,用戶密碼為 alex111
15. 創建一個 2G 的交換分區,並開機自動生效,但不影響原有的 swap 分區
19:創建邏輯卷 請按下列要求創建一個新的邏輯卷 創建一個名為 exam 的卷組,卷組的 PE 尺寸為 16MB 邏輯卷的名字為 lvm2,所屬卷組為 exam,該邏輯卷由 8 個 PE 組成 將新建的邏輯卷格式化為 xfs 文件系統,要求系統啟動時,該邏輯卷能被自動掛載到/exam/lvm2 目錄 [root@server ~]# fdisk /dev/sdb [root@server ~]# [root@server ~]# pvcreat /dev/sdb5 [root@server ~]# vgcreat -s 16M exam /dev/sdb5 [root@server ~]# vgdisplay exam PE SZIE 16.00MiB [root@server ~]# lvcreat -l 8 -n lvm2 exam [root@server ~]# mkfs.xfs /dev/exam/lvm2 [root@server ~]# blkid UUID=50de7615-5950-4b97-99e3-8c463dc6671c [root@server ~]# vim /etc/fstab [root@server ~]# mkdir -p /exam/lvm2
二、RHCE題目詳解
1、配置selinux 在system1和system2上要求 selinux狀態為enforcing, 重啟后生依然生效解題:略 2、配置防火牆對ssh的限制在server0和desktop0上設置防火牆,對ssh實現訪問限制
允許 example.com的客戶對 server0 和desktop0進行ssh訪問 禁止my133t.org的客戶對 server0 和desktop0進行ssh訪問備注: My133t.org 172.17.10.0/24 (根據考試實際提供的網段配置) Example.com 172.25.0.0/24 解題: Systemctl disable iptables ip6tables ebtables Systemctl enable firewalld Firewall-cmd --get-default-zone #查看默認zone Firewall-cmd --list-all #查看默認zone所有規則 Firewall-cmd --permanent --add-rich-rule=’rule family=”ipv4” source address=”172.25.0.0/24” serice name=”ssh” accept’ Firewall-cmd --permanent --add-rich-rule=’rule family=”ipv4” source address=”172.17.10.0/24” service name=”ssh” reject’ Firewall-cmd --reload 3、配置IPv6地址在系統上配置接口eth0使用以下 ipv6地址 Server0 fddb:fe2a:ab1e::c0a8:1/64
Desktop0 fddb:fe2a:ab1e::c0a8:2/64 要確保兩個系統能與網絡 fddb:fe2a:ab1e/64內的系統通信地址重啟依舊有效兩個系統IPv4地址保持不變 解題: a. 手工修改ifcfg-ethX文件 b. 圖形化界面修改 nm-connection-editor c. 使用ip命令:(臨時性的修改) ip addr add 2001:0db8:85a3::0370:7334/64 dev eth1 d. 使用nmcli命令行添加地址后,自動生效 Nmcin con mod 命令行模式 Nmcli con edit 命令行交互模式 Nmcli con show Nmcli connection modify eth0 <ipv6.method manual> <ipv6.addresses fddb:fe2a:ab1e::c0a8:1/64> Nmcli connection up eth0 #需要啟動eth0,使配置文件生效 Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/1) Systemctl restart network 4、配置鏈路聚合 在server0與desktop0上按以下要求配置 此鏈路使用接口eth1和eth2 此鏈路在一個接口失效時仍然能工作 此鏈路在server0使用下面的地址 192.168.0.101/255.255.255.0 此鏈路在desktop0使用下面的地址 192.168.0.102/255.255.255.0 此鏈路在系統重啟后依然保持正常狀態解題: #添加team0設備並建立 team0連接 # 配置鏈路聚合時,至少有2張網卡;網卡沒有活動的連接 Nmcli con add type team con-name team0 ifname team0 config ‘{“runner”:{“name”:”activebackup”}}’ #添加team設備IPv4地址 Nmlci con mod team0 ipv4.address ‘192.168.0.101/24’ ipv4.method manual #關聯team設備從設備(接口) team0-port1 team0-prot2 Nmcli con add type team-slave con-nameifname eth1 master team0 Nmcli con add type team-slave con-nameifname eth2 master team0 Nmcli con up team0-port1; Nmcli con up team0-port2 #查看 team0工作狀態: yum install teamd -y Teamdctl team0 state #測試,開啟一個ping,並禁用team0其中的一塊網卡;原則上ping數據不會掉包 Nmcli device disconnect eth1 5、 自定義用戶環境 在系統server0和desktop0上創建自定義命令 qstat,此命令執行以下命令:/bin/ps -Ao pid,tt,user,fname,rsz 此命令對系統中的所有用戶有效 解題: Vim /etc/bashrc Alias qstat=’/bin/ps -Ao pid,tt,user,fname,rsz’ 6、 配置本地郵件服務在server0和desktop0上配置郵件服務,要求: 這些系統不接收外部發來的郵件 這些系統上本地發送的郵件都會自動路由到 classroom.example.com 這些系統上發送的郵件都顯示來自 example.com 你可以通過發送郵件到本地用戶student來測試你的配置,classroom.example.com已經配置好。把此用戶的郵件轉到下列URL http://classroom.example.com/cgi-bin/recevied_mail 解題: Yum install -y postfix Systemctl enable postfix Systemctl restart postfix Postconf -e “inet_interfaces = loopback-only” # 設定postfix監聽的接口 loopback-only|all Postconf -e “mynetworks = 127.0.0.1/8,[::1]/128” # 指定受信任主機,使用逗號分割的IP列表通過服務器中繼到任何地方 Postconf -e “myorigin = example.com” # 顯示 ‘mail from’ 發件人 Postconf -e “relayhost = [classroom.example.com]” # 轉發所有消息到外部郵件服務器,[ MX記錄classroom.example.com ] Postconf -e “mydestination = ” # 指定“能收信的主機”(對方的mail to需要填寫的名字) Postconf -e “local_transport = error: local delivery disabled” # default: local:$myhostname 禁用本地交付 Postconf -e “local_transport = error:err” Firewall-cmd --permanent --add-services=smtp Firewall-cmd --reload Systemctl restart postfix #測試發送 null client” Mail -s “server0student@classroom.example.com #腳本判斷主題關鍵字 null client Null client test . #查看郵件隊列 mailq Curl http://classroom.example.com/cgi-bin/recevied_mail 7、配置端口轉發在server0上配置端口轉發,要求: 在172.25.0.0/24網絡中的系統,訪問 server0的本地端口5423將被轉發到端口80 此設置必須永久有效 開啟-端口轉發-關鍵字 本地端口 協議 映射端口 映射地址 forward-port port=xxx Protocol=tcp|udp to-port to-addr Forward-port port=”<PORT VALUE1>” protocol=”TCP|UDP” to-port=”<PORT VALUE2>” to-addr=”<ADDRESS>” 解題: Firewall-cmd --permanent --add-rich-rule ‘rule family=”ipv4” source address=”172.25.0.0/24” forward-port port=5423 protocol=tcp to-port=80’ 8、通過SMB共享目錄在 server0上配置SMB服務 SMB服務器必須是STAFF工作組的一個成員 共享/common目錄,共享名必須為 common 只有example.com域內的客戶端可以訪問 common共享 用戶rob,samba密碼為redhat,只讀權限訪問common共享 用戶brian,samba密碼為redhat,讀寫權限訪問common共享 解題: Yum install samba samba-client -y Systemctl enable nmb smb Id rob Id brian Useradd -s /sbin/nologin rob; userad -s /sbin/nologin brian Mkdir /common Chgrp brian /common/ Chmod 2775 /common Smbpasswd -a rob Smbpasswd -a brian Vim /etc/samba/smb.conf Workgroup = STAFF [common] Path=/common Write list = brian Browseable = yes Hosts allow = 172.25.0. #/common只允許example客戶端訪問 Testparm # 測試 smb.conf 文件語法 Systemctl restart smb nmb # chcon -R -t samba_share_t /common Semanage fcontext -a -t samba_share_t ‘/common(/.*)?’ Restorecon -vFR /common Firewall-cmd --permanent --add-service=sabma Fireall-cmd --reload 測試: Smbclient -L //server0.exmaple.com/common -U rob Smbclient -L //server0.exmaple.com/common -U brian 9、配置多用戶SMB掛載在desktop0上完成以下要求的配置 Desktop0把server0的common共享通過多用戶的方式掛載到配置的/mnt/multiuser(實際的共享和掛載點請根據考試題目設定) 用戶rob,samba密碼為redhat,只讀權限訪問common共享 用戶brian,samba密碼為redhat,讀寫權限訪問common共享 該共享要求在系統啟動時自動掛載 解題: Yum install cifs-utils -y Yum install samba-client -y Mkdir /mnt/multiuser Echo ‘username=rob’ > /root/smb-multiuser.txt Echo ‘password=redhat’ >> /root/smb-multiuser.txt Su - brian # cifs認證,使用/root/smb-multiuser文件認證 Cifscreds add server0 Pasword: Echo “multiuser” > /mnt/multiuser/brian.txt Cat /mnt/multiuser/brian.txt Exit Su - rob Cifscreds add server0 Password: Cat /mnt/multiuser/brian.txt Echo “rob” > /mnt/multiuser/rob.txt 10、配置NFS服務在server0配置NFS服務,要求如下: 以只讀的形式共享目錄/public同時只能被example.com域中的系統訪問。 以讀寫的形式共享目錄/protected同時只能被example.com域中的系統訪問。 訪問/protected需要通過Kerberos安全加密,您可以使用下面提供的密鑰:http://classroom.example.com/pub/keytabs/server0.keytab 目錄/protected應該包含名為project擁有人為ldapuser0的子目錄 用戶ldapuser0能以讀寫形式訪問/protected/project 解題: Yum install nfs-utils -y Systemctl enable nfs-server Mkdir /public Chown nfsnobody /public Mkdir -p /protected/project Chmod o+w /protected Chown ldapuser0 /protected/project Chcon -R -t public_content_t /protected/ Vim /etc/exports /protected *.example.com(rw,sec=krb5p) /public *.example.com(ro) # 查看Showmount -e localhost Exportfs -arv #配置NFS加密共享 Wget -O /etc/krb5.keytab http://classroom.example.com/pub/keytabs/server0.keytab Vim /etc/syscofnig/nfs RPCNFSDARGS=”-V 4.2” Systemctl enable nfs-secure-server.service Systemctl restart nfs-secure-server.service Firewall-cmd --permanent --add-service=nfs Firewall-cmd --permanent --add-service=mountd rpc-bind Firewall-cmd --permanent --add-service= Firewall-cdm --reload 11、掛載一個NFS共享 在desktop0上掛載一個來自server0上的NFS共享,並符合下列要求: /pulbic共享掛載到本地的/mnt/nfsmount。 /protected掛載到本地的/mnt/nfssecure,並使用安全的方式,密鑰下載地址:http://classroom.example.com/pub/keytabs/desktop0.keytab 用戶ldapuser0能夠在/mnt/nfssecure/project上創建文件。 這些文件系統在系統啟動時自動掛載。 解題: Mkdir /mnt/nfsmount Mkdir /mnt/nfssecure Vim /etc/fstab Server0.example.com:/public /mnt/nfsmount nfs defaults 0 0 Server0.example.com:/protected /mnt/nfssecure nfs defaults,sec=krb5p 0 0 Wget -O /etc/krb5.keytab http://classroom.example.com/pub/keytabs/desktop0.keytab #記得啟動 nfs-secure,krb5加密需要它的支持 #記得啟動 nfs-secure,krb5加密需要它的支持 Systemctl enable nfs-secure.service Systemctl restart nfs-secure.service 測試: Ls /mnt/nfssecure # password: kerberos Ssh ldapuser0@localhost Ls /mnt/nfssecure/ Echo “test” > /mnt/nfssecure/project/test.txt 12、實現一個WEB服務器 在server0上配置一個站點http://server0.example.com,然后執行以下步驟: 從http://classroom.example.com/materials/station.html下載文件,並且將文件重命名為index.html,絕對不能修改此文件的內容。 將index.html拷貝到你的web服務器的DocumentRoot目錄下。 來自example.com域的客戶端可以訪問此web站點。 “/var/www/html” 來自my133t.org域的客戶端拒絕訪問此web站點。備注:網站的DocumentRoot如果題目沒有指定,那么隨意。 Yum install httpd Vim /etc/httpd/conf.d/vhost-server0.conf <VirtualHost *:80> ServerName server0.example.com DocumentRoot CustomLog “logs/server0_vhost_log” combined “/var/www/html <Directory”> <RequireAll> Require all granted Rqeuire not host .my133t.org </RequireAll> </Directory> </VirtualHost> Wget -o /var/www/html/index.html http://classroom.example.com/materials/station.html Systemctl enable httpd Systemctl restart httpd Firewall-cmd --permanent --add-service=http Firewall-cmd --reload 13、配置安全WEB服務 443 站點http://server0.example.com配置TLS加密。 一個已經簽名證書從http://classroom.example.com/pub/tls/certs/server0.crt獲取 此證書的密鑰從http://classroom.example.com/pub/tls/private/server0.key獲取 此證書的授權信息從http://classroom.example.com/pub/example-ca.crt獲取 解題: Yum instlal -y mod_ssl Wget -O /etc/pki/tls/certs/server0.crt http://classroom.example.com/pub/tls/certs/server0.crt Wget -O /etc/pki/tls/private/server0.key http://classroom.example.com/pub/tls/private/server0.key Wget -O /etc/pki/tls/certs/example-ca.crt http://classroom.example.com/pub/example-ca.crt Vim /etc/httpd/conf.d/ssl.conf #修改如下幾個地方 DocumentRoot “/var/www/html/” ServerName server0.example.com SSLCertificateFile /etc/pki/tls/certs/server0.crt SSLCertificateKeyFile /etc/pki/tls/private/server0.key SSLCACertificateFile /etc/pki/tls/certs/example-ca.crt <Directory “/var/www/html”> <RequireAll> Require all granted #腳本可能判斷字符為 my133t.com Require not host .my133t.org </RequireAll> </Directory> Systemctl restart httpd Firewall-cmd --permanent --add-serice=https Firewall-cmd --reload 14、配置虛擬主機 在server0上擴展你的web服務器,為站點http://www0.example.com創建一個虛擬主機,然后執行以下步驟: a. 設置DocumentRoot為 /var/www/virtual b. 從http://classroom.example.com/materials/www.html下載文件並重命名為index.html,不要對文件index.html內容做任何修改。 c. 將index.htm文件放到虛擬主機的DocumentRoot目錄下 d. 確保floyd用戶能夠在/var/www/virtual目錄下創建文件注意:原始站點http://server0.example.com必須仍然能夠訪問。站點的所用的域名網絡中已有DNS服務器解析。 解題: Vim /etc/httpd/conf.d/vhost-www0.conf <VirtualHost *:80> ServerName www0.exmaple.com DocumentRoot “/var/www/virtual” customLog “logs/www0_virtual_log” combined <Directory “/var/www/virtual”> Require all granted </Directory> </VirtualHost> Mkdir -p /var/www/virtual Wget -O /var/www/virtual/index.html http://classroom.example.com/materials/www.html Id floyd Useradd floyd Setfacl -m u:floyd:rwx /var/www/virtual/ Systemctl restart httpd 15、配置WEB內容的訪問 在你的server0上的web服務器的DocumentRoot目錄下創建一個名為private的目錄,要求如下: 從http://classroom.example.com/materials/private.html下載一個文件副本到這個目錄,並且重命名為index.html。不要對這個文件的內容作任何修改。 從server0上,任何人都可以瀏覽private的內容,但是從其他系統就不能訪問這個目錄的內容。(注意題目要求誰可以訪問,靈活變化) 備注:此題目是接着上一題,所以這里的DocumentRoot指的就是上面的 /var/www/virtual/。 解題: Mkdir /var/www/virtual/private Wget -O /var/www/virtual/private/index.html http://classroom.example.com/materials/private.html Vim /etc/httpd/conf.d/vhost-www0.conf <VirtualHost *:80> ServerName www0.exmaple.com DocumentRoot “/var/www/virtual” customLog “logs/www0.virtual_log” combined <Directory “/var/www/virtual”> Require all granted </Directory> <Directory “/var/www/virtual/private”> Require all denied Require local </Directory> </VirtualHost> Systemctl restart httpd #測試 ====Desktop==== Curl http://www0.example.com/ # ok Curl http://www0.example.com/private # denied 16、實現動態WEB內容在server0上配置提供動態web內容,要求如下: 動態內容由名為webapp0.example.com的虛擬主機提供, 虛擬主機監聽在端口8908 從http://classroom.example.com/materials/webinfo.wsgi下載一個腳本,然后放在適當的位置,無論如何不要修改此文件的內容。 客戶端訪問http://webapp0.example.com:8908/時應該接收到動態生成的web頁面。 必須能夠被example.com域內的所有系統訪問。 此站點 解題: Yum install mod_wsgi -y Mkdir -p /var/www/webapp Wget -O /var/www/webapp/webinfo.wsgi http://classroom.example.com/materials/webinfo.wsgi Vim /etc/httpd/conf.d/vhost-webapp0.conf Listen 8908 <VirtaulHost *:8908> ServerName webapp0.exmaple.coms DocumentRoot “/var/www/webapp” CustomLog “logs/webap0_vhost_log” combined <Directory “/var/www/webapp”> Require all granted </Directory> WSGIScriptAlias / /var/www/webapp/webinfo.wsgi #注意安裝 mod_wsgi 模塊 </VirtualHost> Semanage port -l | grep http Semanage port -a -t http_port_t -p tcp 8908 Firewall-cdm --add-rich-rule ‘rule family=ipv4 source address=”172.25.0.0/24” port port=8908 protocol=tcp accept’ Firewall-cmd --reload Systemctl restart httpd #測試 ss -ntlp | grep :8908 Curl http://webapp0.example.com:8908 17、創建一個腳本 在server0上創建一個名為/root/foo.sh的腳本,讓其提供下列特性: 當運行/root/foo.sh redhat,輸出fedora 當運行/root/foo.sh fedora,輸出redhat 當沒有任何參數或者參數不是redhat或者fedora時,其錯誤輸出產生以下的信息: /root/foo.sh redhat|fedora vim /root/foo.sh #!/bin/bash case $1 in redhat) echo “fedora” ;; fedora) echo “redhat” ;; *) echo “/root/foo.sh redhat|fedora” esac # chmod 755 /root/foo.sh # /root/foo.sh adfadfa 18、創建一個添加用戶的腳本在server0上創建一個名為/root/batchusers,此腳本能夠實現為系統server0創建本地用戶,並且這些用戶的用戶名來自一個包含用戶名列表的文件,同時滿足下列要求: 此腳本要求提供一個參數,此參數就是包含用戶名列表的文件 如果沒有提供參數,此腳本應該給出下面的提示信息Usage: /root/batchusers userfile ,並且退出返回相應的值 如果提供一個不存在的文件名,此腳本應該給出下面的提示信息 Input file not found然后退出並返回相應的值 創建的用戶登錄shell為/bin/false 此腳本不需要為用戶設置密碼 (注意:有得時候需要設置統一密碼為redhat) 您可以從下面的URL獲取用戶列表作為測試用 http://classroom.example.com/materials/userlist Vim /root/batchusers #!/bin/bash # 首先判斷腳本的所有參數數量等於1否 # $1是否存在且是文件 if [ $# -eq 1 ]; then if [ -f “$1” ];then while read username do useradd -s /bin/false $username &> /dev/null # 以參數1文件重定向輸入 done < $1 else echo “Input file not found” exit 1 fi else echo “usage: /root/batchusers userfile” exit 2 fi chmod 755 /root/batchusers wget -o /root/userlist http://classroom.example.com/materials/userlist /root/batchusers /root/userlist tail /etc/passwd 19、配置iSCSI服務端配置server0提供一個iSCSI服務磁盤名為iqn.2014-11.com.example:server0,並符合下列要求: 服務端口為3260 使用iscsi_store作為其后端卷,其大小為3G(題意含糊,其實iscsi_store是一個邏輯卷,需要自己建立) 此服務只能被desktop0.example.com訪問。 解題: Yum install targetcli -y Systemctl enable target Fdsik /dev/sdb # 分區並修改類型為8e LVM邏輯卷 Pvcreate /dev/sdb1 Vgcreate iSCSI_vg /dev/sdb1 Lvcreate -n iscsi_store -L 3G iSCSI_vg # targetcli /> cd backstores/block /> backstores/block create name=server0.iscsi_store dev=/dev/iSCSI_vg/iscsi_store Created block storage object server0.iscsi_store using /dev/iSCSI_vg/iscsi_store. /> cd /iscsi /iscsi> create iqn.2015-09.com.example:server0 Created target iqn.2015-09.com.example.com:server0. Created TPG 1. /iscsi> cd iqn.2015-09.com.example:server0/tpg1/portals /iscsi/iqn.2015-09.../tpg1/portals> create 172.25.0.11 3260 Using default IP port 3260 Created network portal 172.25.0.11:3260. /iscsi/iqn.2015-09.../tpg1/portals> cd ../luns /iscsi/iqn.2015-09.../tpg1/luns create /backstores/block/server0.iscsi_store Created LUN 0. /iscsi/iqn.2015-09.../tpg1/portals> cd ../acls /iscsi/iqn.2015-09.../tpg1/acls create iqn.2015-09.com.example:desktop0 Created Node ACL for iqn.2015-09.com.example.com:desktop0 Created mapped LUN 0. /iscsi/iqn.2015-09.../tpg1/acls> cd .. /iscsi/iqn.2015-09.../tpg1 set attribute authentication=0 Parameter authentication is now '0'. /iscsi/iqn.2015-09.../tpg1 set attribute generate_node_acls=0 Parameter generate_node_acls is now '0'. /iscsi/iqn.2015-09.../tpg1> cd / /> saveconfig Last 10 configs saved in /etc/target/backup. Configuration saved to /etc/target/saveconfig.json /> ls /> exit Firewall-cmd --permanent --add-port=3260/tcp Firewall-cmd --reload Systemctl start target 20、配置iSCSI的客戶端 配置desktop0使其能連接在server0上提供的iqn.2014-11.com.example:server0並符合以下要求: iSCSI設備在系統啟動的時候自動加載 塊設備iSCSI上包含一個大小為2100 MiB的分區,並格式化為ext4。 此分區掛載在/mnt/data上同時在系統啟動的期間自動掛載。 Yum install iscsi-initiator-utils Vim /etc/iscsi/initiatorname.iscsi iqn.2014-11.com.example:desktop0 InitiatorName= Systemctl enable iscsi Systemctl restart iscsi Iscsiadm -m discovery -t sendtargets -p 172.25.0.11 #發現target -t st Iscsiadm -m node -l #登錄target Fdisk /dev/sdc # 添加2100M Mkfs.ext4 /dev/sdc1 Mkdir /mnt/data # 格式化系統格式ext4 Blkid /dev/sdc1 Vim /etc/fstab XXXX UUID=/mnt/data ext4 defaults,_netdev 0 0 Mount -a Df -h #記得 logout后再重啟 Iscsiadm --mode node --targetname iqn.2014-09.com.example:server0 --portal 172.25.0.11:3260 --logout 20、部署MariaDB數據庫在server0上部署MariaDB。要求如下: 僅允許從server0系統上使用登陸到數據庫。 登陸數據庫所用的賬號為root,密碼為root_password。 從http://content.example.com/courses/rhce/rhel7.0/materials/mariadb/mariadb.dump上下載文件,並將其恢復為legacy庫。 並設置數據庫訪問: 用戶名 密碼 權限 Mary mary_password 對legacy庫的所有數據有選擇操作權限 Legacy legacy_password 對legacy庫的所有數據有選擇、插入、更新、刪除操作權限 Report report_password 對legacy庫的所有數據有選擇操作權限 解題: A.安裝數據庫並初始化 # yum instlal mariadb* # systemctl enable mariadb # systemctl start mariadb # mysql_secure_installation B.恢復數據庫 # wget -O /root/mariadb.dump Mysql -uroot -proot_password Create database legacy; Use legacy Source /root/mariadb.dump Show tables; C.設置用戶權限 grant select on legacy.* to mary@'localhost' identified by ‘mary_password’; grant select,insert,update,delete on legacy.* to legacy@'localhost' identified by ‘legacy_password’; grant select on legacy.* to report@'localhost" identified by ‘report_password’; 21、數據查詢填空 在server0上登陸數據庫,查看XXX庫進行查詢,並將結果填入相應的框格中。 Q1在product表中,查詢RT-AC68U的產品id() Q2查詢類別為Servers的產品的數量() 模擬考環境請在http://classroom.example.com/cgi-bin/mariadb提交 # mysql -uroot -proot_password # # mysql -u legacy -p MariaDB [legacy]> use legacy MariaDB [legacy]> status; 查看當前數據庫使用狀態