首頁 > 軟體

RHEL 7--RHCE培訓筆記

2020-06-16 17:30:23

RHEL 7--RHCE培訓筆記

中文輸入:

# yum  -y  install“ibus-table-chinese*”“cjk*”“*pinyin*”

# reboot

# Settings -----> Region & Language -----> Input Sources -----> Chinese(Intelligent Pinyin)

一、Systemd相關管理(禁用或者恢復服務、殺死等)

[root@server0 ~]#  systemctl  mask  服務名(禁用該服務)

[root@server0 ~]#  systemctl  unmask  服務名(不禁用/恢復該服務)

[root@server0 ~]#  systemctl  kill  服務名(殺死該服務)

[root@server0 ~]#  systemctl  is-active  服務名(檢視該服務是否啟動)

[root@server0 ~]#  systemctl  is-failed  服務名(檢視該服務是否失敗)

[root@server0 ~]#  systemctl  reenable  服務名(重新設定該服務開機啟動)

二、Firewall防火牆設定

圖形化設定命令:firewall-config

終端設定命令:firewall-cmd

(1)圖形設定解釋

Configuration:Runtime/Permanent(臨時/永久,注意選擇永久)

Zone:預設區域,預設使用public

Services:預設的一些服務,勾選代表允許

Ports:設定埠

Masquerading:NAT偽裝技術

Port  Forwarding:埠轉發

ICMP  Filter:ICMP過濾

Rich  Rules:復規則

Interfaces:介面

(2)命令列設定

[root@server0 ~]#  firewall-cmd  --permanent  --add-service=服務名(新新增一條永久的允許服務規則)

[root@server0 ~]#  firewall-cmd  --permanent  --add-rich-rule  "rule family=ipv4 source address=“IP地址”service name=服務名  reject"(新新增一條永久規則,拒絕這個網段存取服務)

[root@server0 ~]#  firewall-cmd  --permanent  --list-all(檢視所有當前的永久規則)

三、Samba設定

[root@server0 ~]#  yum  -y  install  samba  samba-client  cifs-utils(安裝所需軟體包)

[root@server0 ~]#  smbpasswd  -a  使用者名稱(新增samba使用者)

[root@server0 ~]#  pdbedit  -L(檢視samba使用者列表)

[root@server0 ~]#  vim  /etc/samba/smb.conf(編輯samba組態檔)

valid  users  =  使用者名稱,@組名(可以存取的使用者;唯讀)

write  list  =  使用者名稱,@組名(可以寫入的使用者)

hosts  allow  =  網段(只允許某個網段存取)

[root@server0 ~]#  systemctl  enable  smb  nmb(開機自啟samba服務)

[root@server0 ~]#  systemctl  restart  smb  nmb(重新啟動samba服務)

[root@server0 ~]#  firewall-cmd  --permanent  --add-service=samba(設定防火牆,允許samba服務)

[root@server0 ~]#  firewall-cmd  --reload(重新載入防火牆設定)

[root@server0 ~]#  vim  /etc/fstab

掛載引數:

credentials=密碼與使用者儲存的位置(檔案中儲存username、password)

multiuser(多使用者掛載)

sec=ntlmssp(安全選項)

[ldapuser1@desktop0 ~]$  cifscreds  add  samba伺服器名(重新從samba伺服器獲得自己的存取憑據)

四、SElinux設定(SElinux使用selinux使用者、角色、型別和級別控制進程存取資源)

1、了解Selinux

1)DAC:指使用者存取資源的控制,即許可權

MAC:Selinux標籤,限制進程存取資源,進程歸使用者所有;當使用者呼叫進程去存取資源(file)時,檢查Selinux安全標籤,匹配了才能存取

Selinux屬性的格式:user:role:type:level

2)Selinux使用者:不同於系統使用者,Selinux使用者使用selinux策略的一部分,和系統使用者有對映關係;一個使用者對應一個selinux對映;semanage檢視關係semanage  user  -l

3)角色role:使用者空間,進程的存取範圍標記,如object_r

4)型別或者安全上下文:資源的標記,如admin_home_t

5)安全級別:s0最常用

[root@server0 ~]#  ls  -Zld  檔案/目錄(檢視檔案/目錄的Selinux屬性)

[root@server0 ~]#  ps  -eZ  |  grep  服務名(檢視服務進程的Selinux屬性)

[root@server0 ~]#  id  -Z(當前使用者的selinux設定)

2、設定檔案的Selinux屬性中安全上下文(type)

1)臨時設定

[root@server0 ~]#  chcon  -R(遞回處理所有的檔案及子目錄) -t(設定指定型別的目標安全環境)型別(如samba_share_t)

[root@server0 ~]#  restorecon  -F(強制)-v(詳細)-R(遞回)(還原Selinux屬性)

2)永久生效

查詢命令的提供包:yum  provides  semanage

語法:semanage  fcontext  -(a|d|m)檔案(-a表示增加、-d刪除、-l顯示、-m修改;注意,檔案、目錄使用絕對路徑)

[root@server0 ~]#  semanage  fcontext  -a  -t  samba_share_t  '/smb1(/.*)(匹配目錄下的所有內容)'(案例)

[root@server0 ~]#  restorecon  -F(強制)-v(詳細)-R(遞回)(還原Selinux屬性)

[root@server0 ~]# semanage  fcontext -l(顯示所有的Selinux屬性)

3、複製、移動對selinux規則的影響

移動:移動時selinux屬性不變,覆蓋時會覆蓋selinux屬性

複製:複製時使用目標selinux的屬性,覆蓋的selinux屬性不變

注意:對比移動和複製,複製更有利於保持selinux屬性、推薦使用

4、tar打包備份與selinux ;特殊selinux  type :file_t ,default_t ,user_tmp_t

1)tar打包時預設selinux丟失,使用“—selinux  --xattrs”

tar  -zcvf  /tmp/test-sel.tar.gz  /var/www/html  --selinux

2)特殊type:

file_t:檔案沒有selinux屬性

default_t:檔案或目錄的selinux與file_context組態檔定義模式不匹配

兩種型別檔案,設定了selinux屬性的進程都不能存取

user_tmp_t:使用者的臨時檔案,所有進程都可以存取

五、NFS設定

1、簡單的NFS

[root@server0 ~]#  yum  -y  install  nfs-utils(NFS軟體包,包括用戶端)

[root@server0 ~]#  vim  /etc/exports(NFS組態檔)

/共用目錄網段/子網掩碼(選項;如-ro,sync)

nfs-server.service(提供簡單的NFS共用,伺服器端使用)

nfs-secure-server.service(提供基於KerBeros的安全認證共用,伺服器端使用)

nfs-secure.service(用戶端使用KerBeros認證,用戶端使用)

2、基於KerBeros的安全NFS

伺服器:

[root@server0 ~]#  wget  http://classroom.example.com/pub/keytabs/server0.keytab  -O  /etc/krb5.keytab(從伺服器下載用於安全認證的keytab檔案,下載後名稱和位置必須在此)

[root@server0 ~]#  vim  /etc/sysconfig/nfs(NFS全域性組態檔)

# Optional arguments passed to rpc.nfsd. See rpc.nfsd(8)

RPCNFSDARGS="-V 4.2"(定義NFS使用的協定版本4.2提供共用)

[root@server0 ~]#  vim  /etc/exports(NFS組態檔)

/共用目錄網段/子網掩碼(ro,sec=krb5p)(新增sec=krb5,以支援Krb5共用;安全選項有krb5、krb5i、krb5p,建議使用krb5p。用戶端必須使用相同的安全選項)

[root@server0 ~]#  systemctl  enable  nfs-secure-server.service(啟動KerBeros安全認證共用服務)

[root@server0 ~]#  systemctl  restart  nfs-secure-server.service

[root@server0 ~]#  systemctl  restart  nfs-server.service

用戶端:

[root@desktop0 ~]#  wget  http://classroom.example.com/pub/keytabs/server0.keytab  -O  /etc/krb5.keytab(下載用於安全認證的keytab檔案)

[root@desktop0 ~]#  systemctl  enable  nfs-secure.service

[root@desktop0 ~]#  systemctl  restart  nfs-secure.service

[root@desktop0 ~]#  mkdir  /nfs2

[root@desktop0 ~]#  vim  /etc/fstab

server0:/nfs2  /mnt/nfs2      nfs    defaults,v4.2(表示使用的NFS版本),sec=krb5p(使用的安全選項;必須與伺服器設定相同)        0 0

[ldapuser5@desktop0 ~]$  kinit(獲得kerberos的憑據)

Password for ldapuser5@EXAMPLE.COM: (Kerberos密碼)

六、鏈路聚合設定(多塊網絡卡系結,實現故障切換;需有兩塊網絡卡以上)

命令列設定:

[root@server0 ~]#  nmcli  connection  add  type  team(邏輯裝置)、team-slave(Team中包含的真實裝置)con-name  (裝置名)  ifname  team0(裝置型別)  config  '{"runner"(屬性名):{"name"(子屬性

名):"activebackup"(子屬性值)}}'(定義Team的方式;可man  teamd.conf有案例檔案)新增邏輯裝置

[root@server0 ~]#  nmcli  connection  add  type  team  con-name  team0  ifname  team0  config  '{"runner":{"name":"activebackup"}}'(Team案例)

[root@server0 ~]#  nmcli  connection  modify  team0  ipv4.addresses "TCP/IP資訊"(設定Team的IP資訊)

[root@server0 ~]#  nmcli  connection  modify  team0  ipv4.method  m(設定為靜態)

[root@server0 ~]#  nmcli  connection  add  type  team-slave  con-name  裝置名  ifname  網絡卡裝置  master  邏輯裝置名(新增Team中所需要包含的真實裝置)

[root@server0 ~]#  nmcli  connection  add  type  team-slave  con-name  team-eth1  ifname  eno1  master  team0(新增裝置案例)

[root@server0 ~]#  teamdctl  team裝置名  state(檢視Team的狀態資訊)

圖形化設定:

[root@server0 ~]#  nm-connection-editor --> add --> team -->注意選擇開機自啟動 --> 設定完成後nmcli  connection  up  組態檔名

七、Firewalld埠轉發設定

圖形化設定:

firewall-config --> Configuration(Permanent)--> Port Forwaring --> Add --> Port/Port Range(源埠)--> Forward to another port(轉發到目標主機埠)--> IP address(目標主機)--> Port / Port Ramge(目標斷

埠)--> Options(Reload Firewalld)(Rich Rule可以針對源地址做限制)

命令列設定:

[root@server0 ~]#  firewall-cmd  --permanent  --add-rich-rules  “rule family=“ipv4”source  address=“源地址”forward-port port=“源埠”protocol=“tcp”to-port=“目標埠””

[root@server0 ~]#  nc  -l  埠號(開啟本地一個埠號)

八、IPV6的設定

[root@server0 ~]#

[root@server0 ~]#

[root@server0 ~]#

[root@server0 ~]#

九、POSTFIX郵件(設定只傳送不接收)

/usr/share/doc/postfix-2.10.1/README_FILES/STANDARD_CONFIGURATION_README(POSTFIX郵件案例檔案)

[root@server0 ~]#  vim  /etc/postfix/main.cf(POSTFIX主組態檔)(Ctrl + v進入視覺化模式,d可快速刪除)(組態檔中有多個相同名的名時,以最後一條生效)

myhostname = 主機名

myorigin = $mydomain(偽裝,郵件的落款)

relayhost = $mydomain | [地址](傳送出去的郵件,轉發的主機)

inet_interfaces = loopback-only(監聽的介面)

mydestination =(決定了郵件的工作範圍,空代表不收)

local_transport = error:local mail delivery is disabled(郵件錯誤資訊的提示內容,內容可自定義)

十、ISCSI設定

伺服器:

[root@server0 ~]#  yum  -y  install  targetcli(文字模式的target組態檔)

[root@server0 ~]#  systemctl  enable  target.service

[root@server0 ~]#  systemctl  restart  target.service

[root@server0 ~]#  targetcli

/> ls

o- / ......................................................................................................................... [...]

  o- backstores .............................................................................................................. [...]

  | o- block .................................................................................................. [Storage Objects: 0](塊裝置做共用)

  | o- fileio ................................................................................................. [Storage Objects: 0](檔案做共用)

  | o- pscsi .................................................................................................. [Storage Objects: 0]

  | o- ramdisk ................................................................................................ [Storage Objects: 0]

  o- iscsi ............................................................................................................ [Targets: 0]

  |    o- acls .......................................................................................................... [ACLs: 0](允許存取的IQN)

  |    o- luns .......................................................................................................... [LUNs: 0](將IQN和共用裝置/檔案做關聯)

  |    o- portals .................................................................................................... [Portals: 0](設定IQN/進程監聽的埠)

  o- loopback ......................................................................................................... [Targets: 0]

/> /backstores/block/  create  ISCSI裝置名  /dev/裝置名(建立一個塊裝置)

/> /iscsi/ create IQN名(建立裝置的IQN)

/> /iscsi/IQN名/tpg1/acls/  create  允許的IQN(設定允許存取的IQN)

/> iscsi/IQN名/tpg1/luns/  create  /backstores/block/ISCSI裝置名(將IQN和裝置做關聯)

/> /iscsi/IQN名/tpg1/portals  create  IP  3260(預設埠)(裝置監聽的埠)

/> saveconfig(儲存設定)

/> exit(退出)

[root@server0 ~]#  firewall-cmd  --permanent  --add-port=3260/tcp

[root@server0 ~]#  firewall-cmd  --reload

用戶端

[root@desktop0 ~]#  yum  -y  install  iscsi-initiator-utils  iscsi-initiator-utils-iscsiuio(用戶端工具)

[root@desktop0 ~]#  vim  /etc/iscsi/initiatorname.iscsi (定義了IQN的組態檔)

InitiatorName=IQN(使用授權存取的IQN)

[root@desktop0 ~]#  systemctl  enable  iscsid

[root@desktop0 ~]#  systemctl  restart  iscsid

[root@desktop0 ~]#  iscsiadm  -m  discovery  -t  st  -p(不寫為預設3260埠)  主機名(發現ISCSI,讀取/var/lib/iscsi目錄)

[root@desktop0 ~]#  systemctl  restart  iscsi(login發現的所有IQN)

[root@desktop0 ~]#  systemctl  enable  iscsi

[root@desktop0 ~]#  blkid(檢視裝置UUID)

[root@desktop0 ~]#  vim  /etc/fstab

_netdev(增加掛載選項,宣告是一個網路裝置)

十一、Shell指令碼

(1)case語句格式

if  [  command  ];then

commands

elif  [  command2  ];then

commands

else  [  command3  ];then

commands

fi

(2)case語句格式

case  值  in

模式1)

command1

command2

command3

;;

模式2)

command1

command2

command3

;;

*)

command1

command2

command3

;;

esac

(3)for語句格式

for  變數  in  列表

do

迴圈體

done

(4)while語句格式

while  [  condition  ]  <==中括號內的狀態就是判斷式

do            <==do 是迴圈的開始!

程式段落

done          <==done 是迴圈的結束

[root@server0 ~]#  sh  -n  指令碼(檢測指令碼語法是否有誤)

[root@server0 ~]#  echo  -e  “內容”(啟動解釋反斜槓跳脫;如n)

十二、Mariadb資料庫

1) 安裝Mariadb

[root@server0 ~]#  yum  -y  groupinstall  mariadb  mariadb-client(安裝Mariadb資料庫和用戶端)

[root@server0 ~]#  systemctl  enable  mariadb.service

[root@server0 ~]#  systemctl  restart  mariadb.service

[root@server0 ~]#  firewall-cmd  --permanent  --add-service=mysql

[root@server0 ~]#  firewall-cmd  --reload

[root@server0 ~]#  firewall-cmd  --permanent  --list-all

[root@server0 ~]#  mysql_secure_installation(Mariadb資料庫初始化設定、其中包括是否禁用匿名等)

[root@server0 ~]#  mysql  -u  root  -p  tianyun(登陸Mariadb)

MariaDB [(none)]>  create  database  資料庫名;(建立資料庫)

MariaDB [(none)]>  create table 資料庫名.表名(欄位1 型別 ,欄位2 型別 not null ... ,primary key(欄位名));    ##建立表,名稱使用字母、_、數位,不要使用$、#、-等字元

MariaDB [(none)]>  show  databases;(查詢所有資料庫)

MariaDB [(none)]>  use  資料庫名(進入資料庫)

MariaDB [(none)]>  select  database();(返回當前資料庫名字)

MariaDB [(none)]>  source  dump資料存放位置(匯入資料到當前資料庫)

MariaDB [Concats]>  grant  select/許可權列表  on  資料庫名.*/表名;*代表所有  to  使用者@'172.25.0.%/網段;%代表所有'  identified  by  ‘密碼’;

MariaDB [Concats]>  flush  privileges;(重新整理許可權)

MariaDB [Concats]>  select  *  from  表名  where  條件  and  欄位  like(模糊匹配)“%14%(%代表多個字元;_表示匹配一個字元)”;(單表查詢)

MariaDB [(none)]>  select  a.first_name,b.location  from  a,b  where  a.user_id=b.id  and  first_name=‘tianyun’  and  location=‘WA’;(多表查詢,表間必須存在關聯)

本文永久更新連結地址http://www.linuxidc.com/Linux/2016-10/135988.htm


IT145.com E-mail:sddin#qq.com