RHCE 22個考點html
=======================
1.配置selinux node
考點:rhcsa考過的 不重複 考試時也就是要求會操做mysql
-----操做步驟以下------
*先setenforce 1 再vim /etc/sysconfig/selinux下 enforcing
補充說明:
permissive就是Selinux中有效,可是即便你違反了策略的話它讓你繼續操做,可是把你的違反的內容記錄下來
enforcing就是違反了策略,你就沒法繼續操做下去linux
disable 取消、關閉selinuxios
=========================web
2.添加服務sshsql
考點:1.systemctl enable firewalld 2.關鍵一步 firewall-cmd --permanent --add-serivce=ssh 3.firewall-cmd reloadshell
考試時還會要求 設定某個Ip 容許ssh訪問。數據庫
----------操做步驟以下---------apache
systemctl enable firewalld
firewall-cmd --permanent --add-service=ssh
firewall-cmd --permanent -add-rich-rule 'rule family="ipv4' source address="IP" service name=ssh accept'
==================
3.自定義用戶環境
考點:vim /etc/bashrc alias qstat=' ’考試沒有變更,熟練就行。
(知識點:alias qstat='/bin/ps -Ao pid,tt,user,fname,rsz' bash )
/etc/profile:此文件爲系統的每一個用戶設置環境信息,當用戶第一次登陸時,該文件被執行.並從/etc/profile.d目錄的配置文件中搜集shell的設置.
/etc/bashrc:爲每個運行bash shell的用戶執行此文件.當bash shell被打開時,該文件被讀取.
~/.bash_profile:每一個用戶均可使用該文件輸入專用於本身使用的shell信息,當用戶登陸時,該文件僅僅執行一次!默認狀況下,他設置一些環境變量,執行用戶的.bashrc文件.
~/.bashrc:該文件包含專用於你的bash shell的bash信息,當登陸時以及每次打開新的shell時,該文件被讀取.(每一個用戶都有一個.bashrc文件,在用戶目錄下)
~/.bash_logout:當每次退出系統(退出bash shell)時,執行該文件.
~/.bash_profile 是交互式、login 方式進入bash 運行的;
~/.bashrc 是交互式 non-login 方式進入bash 運行的;
====================
4.配置端口轉發
考點:熟記firewall-cmd 相關命令
-------操做步驟以下-----------
firewall-cmd --permanent --add-rich-rule 'rule family="ipv4" source address="172.24.8.0/24" forward-port port="5423" protocol="tcp" to-port="80"'
firewall-cmd --reload
===================
5.配置鏈路聚合
考點:考試熟記下面的命令,注意考試時 兩臺機器給的Ip不同。
----------操做步驟以下-------------
nmcli connection add con-name team0 ifname team0 type team config '{"runner":{"name":"activebackup"}}'
nmcli connection modify team0 ipv4.addresses "172.16.3.40/24" connection.autoconnect yes ipv4.method manual
nmcli connection add con-name team0-slave1 ifname eth1 type team-slave master team0
nmcli connection add con-name team0-slave2 ifname eth2 type team-slave master team0
nmcli connection up team0
teamdctl team0 state
====================
6.配置IPV6
考點:會用nmcli配置Ipv6,粗體字部分手工設置要加上。
----------操做步驟以下-----------
nmcli connection modify eth0 ipv6.addressses "2003:ac18::305/64" ipv6.method manual connection.autoconnect yes
nmcli connection reload
nmcli connection down eth0
nmcli connection up eth0
=====================
7.配置本地郵件服務
考點:postconf -e 設置內容跟着要求來,
1.本地發送的任何郵件自動路由到某個域名(看題目要求)
2.從本地系統上發送的郵件都顯示來自於固定某個地址(看題目要求)
3.可能會添加一條要求設置信任網絡:mynetworks=
-----------操做步驟以下----------
考試熟記命令
只在本地還回接口接受郵件: postconf -e inet_interfaces=loopback-only 也就是說不接受外部發送的郵件
把接受到的任何郵件都看成外部郵件 postconf -e mydestindation=
禁止本地分發郵件到本地用戶郵箱 postconf -e local_transport=error:err
設定中心郵件服務器 postconf -e relayhost=[mail.group8.example.com]
設定發信人的域 postconf -e myorigin=server.group8.example.com
* postconf -e mynetworks=172.0.0.0/8[;:1]/128 信任網絡*
systemctl enable postfix
systemctl restart postfix
echo "hello" | mail -s testmail dave
驗證 :curl http://
====================
8.SMB共享目錄
考點:1.firewall添加samba服務
2/etc/samba/smb.conf配置 一般設置固定客戶端能否訪問 ,瀏覽和寫權限(hosts allow,browseable,writable);
3.安全上下文semanage fcontext 「samba_share_t」
4.設置samba賬號 smbpasswd -a
5.客戶端驗證 sambaclient -L //ip -U
-----------操做步驟以下------------
yum install samba samb-client -y --nogpgcheck
systemctl enbale smb.service nmb.service
設定防火牆
firewall-cmd --permanent --add-service=samba
firewall-cmd --reload
配置文件
[global]
workgroup = STAFF
[common]
path = /common
hosts allow = 172.24.8. 容許指定域的客戶端可使用
browseable = yes 容許被瀏覽
建立目錄設定安全上下文 (全部關於安全上下文 參考筆記RHCSA2 筆記7.2 7.3)
mkdir
semanage fcontext -a -t "samba_share_t" '/common(/.*)?'
restore -Rv /common/
smbpasswd -a andy
systemctl restart smb nmb
驗證 系統2上
yum install samba-cilent -y --nogpgcheck
smbclient -L //172.24.8.11/ -U andy
--------------
補充相關配置說明
==============================
9.配置多用戶SMB掛載
爲什麼samb 中配置指定/devops/不容許有寫權限(writable),而須要setfacl來設置用戶對指定目錄有讀寫rwx權限??
考點:
1./etc/samba/smb.conf配置 一般設置固定客戶端能否訪問 ,瀏覽和寫權限(hosts allow,browseable,writable);
2..安全上下文semanage fcontext 「samba_share_t」
3..設置samba賬號 smbpasswd -a
4..客戶端驗證 sambaclient -L //ip -U
-------操做步驟以下-----------
vim /etc/samba/smb.conf
[devops]
path= /devops
hosts allow = 172.24.8. 容許指定域的客戶端可使用
browseable = yes 容許被瀏覽
writable = no 不容許寫權限
write list = akira write list用來指定能夠在該共享下寫入文件的用戶
設定目錄
mkdir /devops
semanage fcontext -a -t "samba_share_t" '/devops(/.*)?'
restorecon -Rv /devops
setfacl -m u:akira:rwx /devops/ 設置akira 對指定目錄下的文件/devops/有讀寫權限
創建samba帳戶
smbpasswd -a silene
密碼:redhat
smbpasswd -a akira
密碼redhat
重啓服務 systemctl restart smb nmb
系統2
安裝軟件 yum install cifs-utils -y --nogpgcheck
創建掛載點 mkdir /mnt/dev
查看共享 smbclient -L //172.24.8.11/ -U silene
掛載 vim /etc/fstab
//172.24.8.11/devops /mnt/dev cifs defaults,multiuser,username=silene,password=redhat,sec=ntlmssp 0 0
mount -a
df -h
驗證 su - silene
cd /mnt/dev
cifscreds add 172.24.8.11
touch testfile 結果被否
su - akir
cd /mnt/dev
cifscreds add 172.24.8.11
touch testfile
===============================
10.配置NFS服務
考點:1.防火牆firewall添加服務nfs,rpc-bind,mountd,nfs服務依賴這兩個rpc-bind,mountd.
2安全上下文 semanage public_content_t
3.在/etc/exports下配置 指定系統1共享目錄
4在/etc/sysconfig/nfs 下修改nfs啓動參數,並重啓服務 restart nfs-server nfs-secure
注意:nfs的主要配置文件是/etc/exports,輔助配置文件是/etc/sysconfig/nfs
簡單說一下rpc,rpc服務的主要功能就是指定每一個nfs功能所對應的端口號,並通知給客戶端,讓客戶端鏈接正確的端口號,由於nfs啓動時端口號不固定,nfs服務啓動時會隨機選擇一個可用的端口,而後向rpc服務報告,說明nfs服務如今所佔用的端口,因此,rpc必須在nfs啓動前啓動,沒有rpc,nfs服務沒法正常使用
------操做步驟以下----------
yum install nfs-utils -y --nogpgcheck
服務開機啓動 systemctl enable nfs-server nfs-sercure-server
設定防火牆規則
firewall-cmd --permanent --add-service=nfs
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --permanent --add-service=mountd
firewall-cmd --reload
設定目錄及安全上下文
mkdir -p /public /protected/project
chown andres /protected/project
semanage fcontext -a -t "public_content_t" '/protected(/.*)?'
semanage fcontext -a -t "public_content_rw_t" '/protected/project(/.*)?'
restore -Rv /protected/
vim /etc/exports
/public *.group8.example.com(ro,sec=sys,sync)
/protected *.group8.example.com(rw,sec=krb5p,sync)
vim /etc/sysconfig/nfs
RPCNFSDARGS="-v 4.2"
systemctl restart nfs-server.service nfs-secure-server.service
刷新並導出資源
exportfs -ra
exportfs
===========================
11.掛載1個NFS共享
考點:
1./etcfstab 的共享目錄掛載
2.驗證掛載成功
3.客戶端:在掛載時聲明版本:v4.2
---------操做步驟以下-------------
系統2上
mkdir /mnt/nfsmount /mnt/nfssecure
下載用於認證的keytab,並將密鑰存入/etc/krb5.keytab
wget -o /etc/krb5.keytab http://
vim /etc/fstab
system1:/public /mnt/nfsmount nfs defaults,sec=sys 0 0
system1:/protected /mnt/nfssecure nfs defaults,sec=krb5p,v4.2 0 0
測試:
mount -a
df -h
su - andres
kinit
cd /mnt/nfssecure/project/
touch testfile
ls -l
====================
12.實習1個web服務
考點:
1.apache的默認目錄/var/www/html相關配置
2.wget -O /var/www/html/index.html
3.<requireall >下的配置要求,指域名下的客戶端可訪問web,拒絕某域的訪問Require not hosts
-------操做步驟以下-----------
yum install httpd -y --nogpgcheck
vim /etc/httpd/conf.d/httpd-vhosts.conf
<VirtualHost *:80>
DocumentRoot "/var/www/html" 注意 「 」 默認爲/var/www/html
ServerName system1.group8.example.com 指定配置的站點
<Directory "/var/www/html">
<RequireAll>
Require all granted 匹配全部訪問請求,並受權訪問
Require not hosts .my133t.org 不匹配.my133t.org訪問請求,並拒絕訪問
</RequireAll>
</Directory>
</VirtualHost>
wget -O /var/www/html/index.html http://server.group8.example.com/pub/system1.html
systemctl enable httpd
systemctl start httpd
firewall-cmd --permanent --add-service=http
firewall-cmd --reload
系統2
curl system.group8.example.com
==================================
13.配置安全web服務
考點:
1.安裝模塊mod_ssl
2.https端口443
3.SSL下相關證書下載到對應的路徑必須一致
SSL Engine on /etc/pki/tls/...
SSL Protocol all
SSL CertificateFile
SSL CertificateKeyFile
SSL CACertificateFile
------操做步驟以下-------
yum install mod_ssl -y
vim /etc/httpd/conf.d/httpd-vhosts.conf
<VirtualHost *:443>
DocumentRoot "/var/www/html"
ServerName system1.group8.example.com
<Directory "/var/www/html">
<RequireAll>
Require all granted 匹配全部訪問請求,並受權訪問
Require not hosts .my133t.org 不匹配.my133t.org訪問請求,並拒絕訪問
</RequireAll>
</Directory>
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLCertificateFile /etc/pki/tls/certs/system1.crt
SSLCertificateKeyFile /etc/pki/tls/private/system1.key
SSLCACertificateFile /etc/pki/tls/certs/ssl-ca.crt
</VirtualHost>
wget -O /etc/pki/tls/certs/system1.crt http://server.group8.example.com/pub/tls/certs/system1.crt
wget -O /etc/pki/tls/private/system1.key http://server.group8.example.com/pub/tls/private/system1.key
wget -O /etc/pki/tls/certs/ssl-ca.crt http://server.group8.example.com/pub/tls/certs/ssl-ca.crt
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
systemctl restart httpd
curl -k https://system1.group8.example.com
-k 忽略證書
===========================
14.配置虛擬主機
考點: 1./var/www/virtual 虛擬主機的相關配置
2.安全上下文 httpd_sys_content—t
------操做步驟以下-------
mkdir /var/www/virtual
wget -O /var/www/virtual/index.html http://server.group8.example.com/pub/www8.html
setfacl -m u:andy:rwx /var/www/virtual/
semanage fcontext -a -t "httpd_sys_content_t" '/var/www/virtual(/.*)?'
restorecon -Rv /var/www/virtual/
vim /etc/httpd/conf.d/httpd-vhosts.conf
<VirtualHost *:80>
DocumentRoot "/var/www/virtual"
ServerName www8.group8.example.com
<Directory "/var/ww/virtual">
<RequireAll>
Require all granted 匹配全部訪問請求,並受權訪問
</RequireAll>
</Directory>
</VirtualHost>
systemctl restart httpd
系統2 curl http://www.8.group8.example.com
===================================
15.配置web內容的訪問
考點:1.Document 「/var/www/html/private」 "/var/www/virtual/private"相關配置
------操做步驟以下------
mkdir /var/www/html/private
mkdir /var/www/virtual/private
wget -O /var/www/html/private/index.html http://server.group8.example.com/pub/private.html
wget -O /var/www/virtual/private/index.html http://server.group8.example.com/pub/private.html
vim /etc/httpd/conf.d/httpd-vhosts.conf
<VirtualHost *:80>
DocumentRoot "/var/www/html"
ServerName system1.group8.example.com
<Directory "/var/ww/html">
<RequireAll>
Require all granted 容許全部的訪問
</RequireAll>
</Directory>
<Directory "/var/www/html/private">
Require all denied 匹配全部訪問請求,並拒絕訪問
Require local 匹配本機
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/var/www/vitual"
ServerName www8.group8.example.com
<Directory "/var/ww/html">
<RequireAll>
Require all granted 匹配全部訪問請求,並受權訪問
</RequireAll>
</Directory>
<Directory "/var/www/html/private">
Require all denied 匹配全部訪問請求,並拒絕訪問
Require local 匹配只容許本地訪問
</Directory>
</VirtualHost>
systemctl restart httpd
驗證
系統1:curl http://system1.group8.example.com/private/
系統2:curl http://system1.group8.example.com/private/
===========================
16.實現動態web內容
考點:
1.WSGIScriptAlias / /var/www/html/webinfo.wsgi
2.安裝模塊mod_wsgi
3.防火牆添加監聽端口firewall
4.apache添加監聽端口 semanage port -a http_port_t -p tcp
-----操做步驟以下----
vim /etc/httpd/conf.d/httpd-vhosts.conf
Listen 8909
<VirtualHost *:8909>
ServerName wsgi.group8.example.com
WSGIScriptAlias / /var/www/html/webinfo.wsgi ----------凡是訪問路徑/下的URL都使用/var/www/html/webinfo.wsgi 來解析
</VirtualHost>
yum install mod_wsgi -y --nogpgcheck --------------安裝模塊mod_wsgi
firewall-cmd --permanent --add-rich-rule 'rule family="ipv4" port port=8909 protocol=tcp accept' ------防火牆添加端口
firewall-cmd --reload
semanage port -a -t http_port_t -p tcp 8909 -------apache添加監聽端口號
systemctl resstart httpd
curl http://wsgi.group8.example.com:8909
=====================
17.建立腳本
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
===========================
18.建立1個添加用戶的腳本
vim /root/batchusers
#! /bin/bash
if[ $# -eq 1 ];then ----$# 表示提供到shell腳本或者函數的參數總數;意思就是腳本中有參數的時候,就。。沒有就顯示 「Usage:/root/barchusers userfile」
if [ -f "$1" ];then ------------將一個文件普通名傳給傳給$1,並判斷這個文件是否存在.$1「位置參數」,表示傳入第1個參數。
while read username;do
useradd -s /bin/false $username &>/dev/null
done < $1
else
echo "Input file not found"
exit 1
fi
else
echo "Usage:/root/barchusers userfile"
exit 2
fi
chmod 755 /root/batchusers
wget -O /root/userlist http://server.group8.example.com/pub/userlist
/root/batchusers userlist
=============================
19.配置iscsI服務端
考點:
1.yum安裝包targetcli,systemctl firewall添加服務端口
2.fdisk分區
3.邏輯卷pvcreate vgcreate lvcreate -n -l
4.targetcli 定義本地塊設備
-----操做步驟以下-------
yum install targetcli -y --nogpgcheck
systemctl enable target
systemctl start target
firewall-cmd --permanent --add-rich-rule 'rule family="ipv4" source address="172.24.8.12/32" port port=3260 protocol=tcp accept'
firewall-cmd --reload
fdisk /dev/sda
n p 3 +3G t 8e w
partprobe
pvcreate /dev/sda3
vgcreate iscsi_vg /dev/sda3
lvcreate -n iscsi_store -l 100%VG iscsi_vg
targetcli
定義本地塊設備 >backstores/block create name=iscsi_store dev=/dev/iscsi_vg/iscsi_store
>cd iscsi
定義一個iscsi >create iqn.2014-08.com.example.group8:system1
>cd iqn.2014-08.com.example.group8:system1/tpg1/
將定義好的塊設備共享出去 >luns/ create /backstores/block/iscsi_store
建立基於iqnde acl:容許該名字的客戶端訪問本地Iscsi的target >acls/ create iqn.2014-08.com.example.group8:system2
定義target的入口 >portals/ create 172.24.8.11 3260
關閉賬號驗證 >set attribute authentification = 0
使用自定義的acl實現節點訪問限制 >set attribute generate_node_acls=0
>saveconfig
>exit
==========================
20.配置ISCSI客戶端
考點:
1.yum安裝iscsi-initiator-utils
2.vim /etc/iscsi/initiatorname.iscsi 設置
InitiatorName這個單詞必須注意大小寫,同時,必須頂格寫,xxxx表明要設 置的initiator名稱,請遵循iqn命名規範。
iqn規範定義的InitiatorName格式爲iqn.domaindate. reverse.domain.name:optional name,例如:iqn.2006-11.com.h3c:dbserver。
3.發現target
iscsiadm -m discovery -t st -p 172.24.8.11
iscsiadm -m node -l
----------操做步驟以下------
yum install iscsi-initiator-utils -y
vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2014-08.com.example.group8:system2
systemctl enable iscsid iscsi
systemctl restart iscsid iscsi
iscsiadm -m discovery -t st -p 172.24.8.11
iscsiadm -m node -l
lsblk 查看本地多了一個3G 的硬盤
fdisk /dev/sdb
n p +2100M w partporbe
mkfs.ext4 /dev/sdb1
mkdir /mnt/data
vim /etc/fstab
/dev/sda1 /mnt/data ext4 defaults,_netdev 0 0
mount -a
df -h
====================================
20.配置數據庫
考點:
1.mariadb的安裝 2.mysql—secure_installation安裝 3.建立題目要求數據庫,可能有要求數據庫包括須要複製的內容,該部分的內容會給出下載地址,經過wget下載到指定文件,而後在建立數據庫後source恢復 4.設置指定某個帳戶本地訪問數據庫
-------操做步驟-----------
yum install mariadb* -y --nogpgcheck
systemctl enable mariadb
systemctl restart mariadb
mysql_secure_installation (y redhat y)
wget -O /root/users.mdb http://server.group8.example.com/pub/users.mdb
mysql -u root -predhat
create database Contacts; (建立數據庫之後use進入該數據庫使用命令source恢復)
use Contacts;
source /root/users.mdb;
grant select on Contacts.* to Mary@localhost identified by 'redhat'; (Contacts.* 指的是:數據庫contact下的全部表)
quit
=====================================
21.數據庫查詢
考點:查詢sql語句、受權某帳戶相關權限容許帳戶本地訪問數據庫
也可能會要求針對某賬戶設置插入、 更新、篩選、 刪除權限
mysql -u root -predhat
use Contacts;
show databases;
desc ...
SELECT u_name.firstname FROM u_name, u_passwd WHERE u_name.userid = u_passwd.uid AND U_psswd.password = 'fadora';
SELECT COUNT(*) FROM u_name, u_loc WHERE u_name.userid = u_loc.uid AND u_name.firstname = 'John' AND U_loc.location = 'Santa Clara';
補:1.數據庫創建用戶
create user john@'localhost' indentified by 'password';
2.針對某表設置本地用戶權限
grant insert,update,delete,selecte on inventory.* to john@'localhost'; (john@% 不匹配localhost)
補充說明
create 建立
drop 刪除數據庫
alter 修改
select 查詢
insert 插入
update 更新
delete 刪除記錄
grant 賦予權限
revoke 從當前用戶或組中取消權限
grant補充說明
一次grant只能指定一個對象,例如:grant select, update, insert on 數據庫 to 指定用戶;能夠設置多種操做權限,可是隻能指定一張表。===================================